APIs Coming Soon
Early preview
Real-Time Payments are coming soon. This preview gives you an early look at the expected experience so you can begin planning your integration.
Realtime Payments use the same /payments endpoints as ACH and Wire payments. Filter by filter[type]=Realtime to list Realtime Payments only.
Get Payment by Id
Get a payment by id.
| Verb | GET |
| URL | https://api.s.unit.sh/payments/{id} |
| Required Scope | payments |
| Timeout (Seconds) | 5 |
Query Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| include | string | (empty) | Optional. A comma-separated list of related resources to include in the response. Related resources include: customer, account, transaction. See Getting Related Resources |
Response
Response is a JSON:API document.
200 OK
| Name | Type | Description |
|---|---|---|
| data | One of the following types (ACH Payment, Book Payment, Realtime Payment or Wire Payment) | Payment resource. |
| included | Array of DepositAccount or Customer or Transaction | Array of resources requested by the include query parameter. |
curl -X GET 'https://api.s.unit.sh/payments/100' \
-H "Authorization: Bearer ${TOKEN}"
List Payments
List payments resources. Filtering, paging and sorting can be applied.
| Verb | GET |
| URL | https://api.s.unit.sh/payments |
| Required Scope | payments |
| Timeout (Seconds) | 120 |
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[accountId] | string | (empty) | Optional. Filters the results by the specified account id. |
| filter[customerId] | string | (empty) | Optional. Filters the results by the specified customer id. |
| filter[counterpartyAccountId] | string | (empty) | Optional. Filters the Payments by the account id of the specified counterparty. |
| filter[tags] | Tags (JSON) | (empty) | Optional. Filter Payments by Tags. |
| filter[status][] | string | (empty) | Optional. Filter Payments by status. Valid values include Pending, PendingReview, Rejected, Clearing, Sent, Canceled, and Returned. Usage example: filter[status][0]=Pending&filter[status][1]=Sent |
| filter[type][] | string | (empty) | Optional. Filter Payments by type. Valid values: Ach, Book, Wire, Realtime, International. Usage example: filter[type][0]=Realtime |
| filter[direction][] | string | (empty) | Optional. Filter Payments by direction (Debit, Credit). Usage example: filter[direction][0]=Debit |
| filter[since] | RFC3339 Date string | (empty) | Optional. Filters the Payments that occurred after the specified date. e.g. 2020-01-13T16:01:19.346Z |
| filter[until] | RFC3339 Date string | (empty) | Optional. Filters the Payments that occurred before the specified date. e.g. 2020-01-02T20:06:23.486Z |
| filter[fromAmount] | Integer | (empty) | Optional. Filters the Payments that have an amount that is higher or equal to the specified amount (in cents). e.g. 5000 |
| filter[toAmount] | Integer | (empty) | Optional. Filters the Payments that have an amount that is lower or equal to the specified amount (in cents). e.g. 7000 |
| filter[recurringPaymentId] | string | (empty) | Optional. Filters the results by the specified recurring payment id. |
| filter[feature][] | string | (empty) | Optional. Filter Payments by Payment feature (SameDay, RecurringPayment). Usage example: filter[feature][0]=SameDay |
| sort | string | sort=-createdAt | Optional. Leave empty or provide sort=createdAt for ascending order. Provide sort=-createdAt (leading minus sign) for descending order. |
| include | string | (empty) | Optional. A comma-separated list of related resources to include in the response. Related resources include: customer, account, transaction. See Getting Related Resources |
curl -X GET 'https://api.s.unit.sh/payments?page[limit]=20&page[offset]=10&filter[type][]=Realtime&filter[status][]=Pending&filter[status][]=Sent' \
-H "Authorization: Bearer ${TOKEN}"
Response
Response is a JSON:API document.
200 OK
| Name | Type | Description |
|---|---|---|
| data | Array of Payments (ACH Payment, Book Payment, Realtime Payment or Wire Payment) | Array of payment resources. |
| included | Array of DepositAccount or Customer or Transaction | Array of resources requested by the include query parameter. |
| meta | JSON object that contains pagination data | Pagination data includes offset, limit and total (estimated total items). |
Example Response:
{
"data": [
{
"type": "achPayment",
"id": "50",
"attributes": {
"createdAt": "2020-01-13T16:01:19.346Z",
"status": "Pending",
"counterparty": {
"routingNumber": "812345678",
"accountNumber": "12345569",
"accountType": "Checking",
"name": "Jane Doe"
},
"description": "Funding",
"direction": "Credit",
"amount": 10000
},
"relationships": {
"account": {
"data": {
"type": "depositAccount",
"id": "555"
}
},
"customer": {
"data": {
"type": "individualCustomer",
"id": "99823"
}
},
"counterparty": {
"data": {
"type": "counterparty",
"id": "4567"
}
},
"transaction": {
"data": {
"type": "transaction",
"id": "4003"
}
}
}
}
],
"meta": {
"pagination": {
"total": 1,
"limit": 100,
"offset": 0
}
}
}
Create Realtime Payment
| Property | Value |
|---|---|
| Verb | POST |
| URL | https://api.s.unit.sh/payments |
| Required scope | payments-write or realtime-payments-write |
| Data type | realtimePayment |
| Timeout | 5 seconds |
Attributes
| Name | Required | Type | Description |
|---|---|---|---|
amount | Yes | integer | The payment amount in cents. |
description | Yes | string | Payment description, up to 50 characters. This appears on the counterparty's statement. |
counterparty | Yes | Realtime Counterparty | The party receiving the Realtime Payment. The receiving counterparty bank must be enabled in the TCH network to receive RTP payments. |
idempotencyKey | No | string | See Idempotency. |
tags | No | object | See Tags. Tags are copied to every transaction created by the payment. See Tag Inheritance. |
Relationships
| Name | Required | Type | Description |
|---|---|---|---|
account | Yes | JSON:API Relationship | The Deposit Account originating the payment. |
Example Request:
curl -X POST 'https://api.s.unit.sh/payments'
-H 'Content-Type: application/vnd.api+json'
-H 'Authorization: Bearer ${TOKEN}'
--data-raw '{
"data": {
"type": "realtimePayment",
"attributes": {
"amount": 500000,
"direction": "Credit",
"counterparty": {
"routingNumber": "812345673",
"accountNumber": "12345569",
"accountType": "Checking",
"name": "Acme Corporation"
},
"description": "Realtime Payment"
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": "555"
}
}
}
}
}'
Response
The response is a JSON:API document.
Example Response:
{
"data": {
"type": "realtimePayment",
"id": "50",
"attributes": {
"createdAt": "2026-01-13T16:01:19.346Z",
"status": "Pending",
"counterparty": {
"routingNumber": "812345673",
"accountNumber": "12345569",
"accountType": "Checking",
"name": "Acme Corporation"
},
"description": "Realtime Payment",
"direction": "Credit",
"amount": 500000,
"tags": {
"purpose": "internal"
}
},
"relationships": {
"account": {
"data": {
"type": "depositAccount",
"id": "555"
}
},
"customer": {
"data": {
"type": "businessCustomer",
"id": "99823"
}
}
}
}
}