Skip to main content

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.

VerbGET
URLhttps://api.s.unit.sh/payments/{id}
Required Scopepayments
Timeout (Seconds)5

Query Parameters​

NameTypeDefaultDescription
includestring(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​

NameTypeDescription
dataOne of the following types (ACH Payment, Book Payment, Realtime Payment or Wire Payment)Payment resource.
includedArray of DepositAccount or Customer or TransactionArray 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.

VerbGET
URLhttps://api.s.unit.sh/payments
Required Scopepayments
Timeout (Seconds)120

Query Parameters​

NameTypeDefaultDescription
page[limit]integer100Optional. Maximum number of resources that will be returned. Maximum is 1000 resources. See Pagination.
page[offset]integer0Optional. 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
sortstringsort=-createdAtOptional. Leave empty or provide sort=createdAt for ascending order. Provide sort=-createdAt (leading minus sign) for descending order.
includestring(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​

NameTypeDescription
dataArray of Payments (ACH Payment, Book Payment, Realtime Payment or Wire Payment)Array of payment resources.
includedArray of DepositAccount or Customer or TransactionArray of resources requested by the include query parameter.
metaJSON object that contains pagination dataPagination 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​

PropertyValue
VerbPOST
URLhttps://api.s.unit.sh/payments
Required scopepayments-write or realtime-payments-write
Data typerealtimePayment
Timeout5 seconds

Attributes​

NameRequiredTypeDescription
amountYesintegerThe payment amount in cents.
descriptionYesstringPayment description, up to 50 characters. This appears on the counterparty's statement.
counterpartyYesRealtime CounterpartyThe party receiving the Realtime Payment. The receiving counterparty bank must be enabled in the TCH network to receive RTP payments.
idempotencyKeyNostringSee Idempotency.
tagsNoobjectSee Tags. Tags are copied to every transaction created by the payment. See Tag Inheritance.

Relationships​

NameRequiredTypeDescription
accountYesJSON:API RelationshipThe 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"
}
}
}
}
}