API Calls
Ready-to-Launch Banking provides several API endpoints to help you manage accounts, transactions, and payments.
Our API is available in two environments:
| Name | Dashboard URL | API URL |
|---|---|---|
| Sandbox | https://app.s.unit.sh/ | https://api.s.unit.sh/ |
| Live | https://app.unit.co | https://api.unit.co/ |
To be able to use the api, you'll first need to Create an API token for Ready-to-Launch APIs by contacting your Unit solution engineer to help set up an API token for both Sandbox and Production environments.
Get Account
Get a specific account by its ID.
| Verb | GET |
| URL | https://api.s.unit.sh/ready-to-launch/accounts/:accountId |
| Required Scope | accounts |
| Timeout (Seconds) | 5 |
Example Request:
curl -X GET 'https://api.s.unit.sh/ready-to-launch/accounts/42' \
-H "Authorization: Bearer ${TOKEN}"
Response
Returns account details including routing number, account number, status, and current balance (in cents).
Response is a JSON:API document.
200 OK
account.Attributes
Open, Frozen, or Closed).Example Response:
{
"data": {
"type": "account",
"id": "10004",
"attributes": {
"routingNumber": "812345678",
"accountNumber": "1000000001",
"status": "Open",
"balance": 150000,
"userIds": ["user_12345", "user_67890"]
}
}
}
List Accounts
List deposit accounts.
| Verb | GET |
| URL | https://api.s.unit.sh/ready-to-launch/accounts |
| Required Scope | accounts |
| Timeout (Seconds) | 5 |
Query Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| filter[customerId] | string | (empty) | Filter accounts by customer ID. Required if userId not provided. |
| filter[userId] | string | (empty) | Filter accounts by user ID. Required if customerId not provided. |
| page[limit] | integer | 100 | Optional. Maximum number of resources to return. Maximum is 10000 resources. |
| page[offset] | integer | 0 | Optional. Number of resources to skip. See Pagination. |
At least one of filter[customerId] or filter[userId] must be provided.
Example Request:
curl -X GET 'https://api.s.unit.sh/ready-to-launch/accounts?filter[customerId]=10000' \
-H "Authorization: Bearer ${TOKEN}"
Response
Returns a paginated list of deposit accounts with their details.
Response is a JSON:API document.
200 OK
Example Response:
{
{
"data": [
{
"type": "account",
"id": "10020",
"attributes": {
"routingNumber": "406735154",
"accountNumber": "864800000014",
"status": "Open",
"balance": 6000,
"userIds": ["user_12345"]
}
}
],
"meta": {
"pagination": {
"total": 1,
"limit": 100,
"offset": 0
}
}
}
Get Customer
Get a specific customer by its ID.
| Verb | GET |
| URL | https://api.s.unit.sh/ready-to-launch/customers/:customerId |
| Required Scope | customers |
| Timeout (Seconds) | 5 |
Example Request:
curl -X GET 'https://api.s.unit.sh/ready-to-launch/customers/10014' \
-H "Authorization: Bearer ${TOKEN}"
Response
Returns customer details including the list of associated user IDs.
Response is a JSON:API document.
200 OK
customer.Attributes
Active or Archived).individual or business).Example Response:
{
"data": {
"type": "customer",
"id": "10014",
"attributes": {
"createdAt": "2023-10-20T10:15:22.123Z",
"status": "Active",
"customerType": "individual",
"userIds": ["user_12345", "user_67890"]
}
}
}
List Customers
Get a list of customers.
| Verb | GET |
| URL | https://api.s.unit.sh/ready-to-launch/customers |
| Required Scope | customers |
| Timeout (Seconds) | 5 |
Query Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| filter[customerId] | string | (empty) | Optional. Filter customers by customer ID. |
| filter[userId] | string | (empty) | Optional. Filter customers by user ID. |
Example Request:
curl -X GET 'https://api.s.unit.sh/ready-to-launch/customers' \
-H "Authorization: Bearer ${TOKEN}"
Response
Returns a list of customers with their details.
Response is a JSON:API document.
200 OK
Attributes
Active or Archived).individual or business).Example Response:
{
"data": [
{
"type": "customer",
"id": "10014",
"attributes": {
"createdAt": "2023-10-20T10:15:22.123Z",
"status": "Active",
"customerType": "individual",
"userIds": ["user_12345", "user_67890"]
}
},
{
"type": "customer",
"id": "10016",
"attributes": {
"createdAt": "2023-11-05T14:30:00.000Z",
"status": "Active",
"customerType": "business",
"userIds": ["user_11111"]
}
}
]
}
Get Transaction
Get a transaction by transaction id and account id.
| Verb | GET |
| URL | https://api.s.unit.sh/ready-to-launch/accounts/:accountId/transactions/:transactionId |
| Required Scope | transactions |
| Timeout (Seconds) | 5 |
Example Request:
curl -X GET 'https://api.s.unit.sh/ready-to-launch/accounts/12345/transactions/12345' \
-H "Authorization: Bearer ${TOKEN}"
Response
Returns the transaction details. Amounts and balances are in cents.
Response is a JSON:API document.
200 OK
transaction.Attributes
Relationships
Example Response:
{
"data": {
"type": "transaction",
"id": "12345",
"attributes": {
"amount": 50000,
"direction": "Credit",
"transactionType": "ACH",
"createdAt": "2021-06-02T10:15:22.123Z",
"balance": 150000,
"summary": "ACH payment from John Doe",
"tags": {
"purpose": "invoice-payment"
},
"counterparty": {
"name": "John Doe",
"routingNumber": "812345678",
"accountNumber": "1000000002",
"accountType": "Checking"
},
"userIds": ["user_12345"]
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": "10004"
}
},
"customer": {
"data": {
"type": "customer",
"id": "10000"
}
},
"customers": {
"data": [
{
"type": "customer",
"id": "10000"
}
]
}
}
}
}
List Transactions
List transactions with optional filtering and pagination.
| Verb | GET |
| URL | https://api.s.unit.sh/ready-to-launch/transactions/ |
| Required Scope | transactions |
| Timeout (Seconds) | 5 |
Query Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| filter[userId] | string | (empty) | Filter transactions by user ID. Required if customerId not provided. |
| filter[customerId] | string | (empty) | Filter transactions by customer ID. Required if userId not provided. |
| filter[accountId] | string | (empty) | Optional. Filter transactions by account ID. |
| filter[since] | string | (empty) | Optional. Start date for filtering (ISO 8601). |
| filter[until] | string | (empty) | Optional. End date for filtering (ISO 8601). |
| filter[query] | string | (empty) | Optional. Free-text search across transaction fields (summary, counterparty name, etc.). |
| filter[fromAmount] | integer | (empty) | Optional. Minimum transaction amount in cents (inclusive). Use with filter[toAmount] for range filtering. |
| filter[toAmount] | integer | (empty) | Optional. Maximum transaction amount in cents (inclusive). Use with filter[fromAmount] for range filtering. |
| filter[type] | string | (empty) | Optional. Filter by transaction type(s). Comma-separated list or repeated param. Multiple types allowed. Valid values: transaction type identifiers (e.g. originatedAchTransaction, bookTransaction, wireTransaction). |
| filter[direction] | string | (empty) | Optional. Filter by direction (Credit or Debit). Single value or repeated param for multiple directions. |
| sort | string | -createdAt | Optional. Sort order. Use createdAt for ascending or -createdAt for descending by creation date. |
| page[limit] | integer | 100 | Optional. Maximum number of resources to return. |
| page[offset] | integer | 0 | Optional. Number of resources to skip. |
At least one of filter[customerId] or filter[userId] must be provided.
Example Request:
curl -X GET 'https://api.s.unit.sh/ready-to-launch/transactions?filter[userId]=user_12345' \
-H "Authorization: Bearer ${TOKEN}"
Response
Returns a paginated list of transactions with their details. Amounts and balances are in cents.
Response is a JSON:API document.
200 OK
Example Response:
{
"data": [
{
"type": "transaction",
"id": "12345",
"attributes": {
"amount": 50000,
"direction": "Credit",
"transactionType": "ACH",
"createdAt": "2021-06-02T10:15:22.123Z",
"balance": 150000,
"userIds": ["user_12345"]
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": "10004"
}
},
"customer": {
"data": {
"type": "customer",
"id": "10000"
}
},
"customers": {
"data": [
{
"type": "customer",
"id": "10000"
}
]
}
}
}
],
"meta": {
"pagination": {
"total": 1,
"limit": 10,
"offset": 0
}
}
}
Get Check Deposit
Get a check deposit by check deposit id.
| Verb | GET |
| URL | https://api.s.unit.sh/ready-to-launch/check-deposits/:checkDepositId |
| Required Scope | check-deposits |
| Timeout (Seconds) | 5 |
Example Request:
curl -X GET 'https://api.s.unit.sh/ready-to-launch/check-deposits/12345' \
-H "Authorization: Bearer ${TOKEN}"
Response
Returns check deposit details including direction, type, created at, tags, summary, counterparty, amount and balance (in cents).
Response is a JSON:API document.
200 OK
checkDeposit.Attributes
Example Response:
{
"data": {
"type": "checkDeposit",
"id": "12345",
"attributes": {
"amount": 50000,
"direction": "Credit",
"type": "CheckDeposit",
"createdAt": "2021-06-02T10:15:22.123Z",
"balance": 150000,
"tags": {
"purpose": "invoice-payment"
},
"summary": "Check deposit from John Doe",
"counterparty": {
"name": "John Doe",
"routingNumber": "812345678",
"accountNumber": "1000000002",
"accountType": "Checking"
}
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": "10004"
}
},
"customer": {
"data": {
"type": "customer",
"id": "10000"
}
}
}
}
}
Create Book Payment
Create a new book payment between accounts.
| Verb | POST |
| URL | https://api.s.unit.sh/ready-to-launch/book-payments |
| Required Scope | payments-write |
| Data Type | bookPayment |
| Timeout (Seconds) | 5 |
Attributes
Relationships
Example Request:
curl -X POST 'https://api.s.unit.sh/ready-to-launch/book-payments' \
-H 'Content-Type: application/vnd.api+json' \
-H 'Authorization: Bearer ${TOKEN}' \
--data-raw '{
"data": {
"type": "bookPayment",
"attributes": {
"amount": 1000,
"description": "test payment",
"tags": {
"test": "test"
},
"idempotencyKey": "unique-idempotency-key"
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": "10013"
}
},
"operationalAccount": {
"data": {
"type": "account",
"id": "10020"
}
}
}
}
}'
Response
Returns details of the created book payment including status and associated resources.
Response is a JSON:API document.
200 OK
bookPayment.Attributes
Rejected.Credit).Relationships
| Name | Type | Description | |
|---|---|---|---|
| account | JSON:API Relationship | The Deposit Account creating the payment. | |
| counterpartyAccount | JSON:API Relationship | The Deposit Account that is the counterparty (receiving) account for the payment. | |
| customer | Optional, JSON:API Relationship | The Customer the deposit account belongs to. | |
| customers | Optional, Array of JSON:API Relationship | The list of Customers the deposit account belongs to. | |
| transaction | JSON:API Relationship | The Book Transaction generated by this payment. |
Example Response:
{
"data": {
"type": "bookPayment",
"id": "12345",
"attributes": {
"createdAt": "2023-10-20T10:15:22.123Z",
"amount": 50000,
"direction": "Credit",
"description": "Payment transfer",
"status": "Sent",
"tags": {},
"userIds": ["user_12345"]
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": "10004"
}
},
"counterpartyAccount": {
"data": {
"type": "account",
"id": "10005"
}
},
"customer": {
"data": {
"type": "customer",
"id": "10000"
}
},
"customers": {
"data": [
{
"type": "customer",
"id": "10000"
}
]
},
"transaction": {
"data": {
"type": "transaction",
"id": "12345"
}
}
}
}
}
List Webhook Events
List webhook event resources for Ready-to-Launch Banking, going back up to 90 days. Paging can be applied.
| Verb | GET |
| URL | https://api.s.unit.sh/ready-to-launch/webhook-events |
| Required Scope | webhook-events |
| Timeout (Seconds) | 5 |
Query Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| page[limit] | integer | 100 | Optional. Maximum number of resources that will be returned. Maximum is 1000 resources. See Pagination. |
| page[offset] | integer | 0 | Optional. Number of resources to skip. See Pagination. |
| filter[type][] | string | (empty) | Optional. Filter events by event type. |
| filter[since] | RFC3339 Date string | (empty) | Optional. Filters the events that occurred after the specified date. e.g. 2022-01-13T16:01:19.346Z |
| filter[until] | RFC3339 Date string | (empty) | Optional. Filters the events that occurred before the specified date. e.g. 2022-01-15T20:06:23.486Z |
Example Request:
curl -X GET 'https://api.s.unit.sh/ready-to-launch/webhook-events?page[limit]=20&page[offset]=10&filter[since]=2022-01-13T16:01:19.346Z&filter[until]=2022-01-15T20:06:23.486Z' \
-H "Authorization: Bearer ${TOKEN}"
Response
Returns a paginated list of webhook event resources.
Response is a JSON:API document.