Base URL
Request format
- All requests must use TLS 1.2+. Plain HTTP is rejected.
- JSON request bodies must include
Content-Type: application/json. - Dates and timestamps are ISO 8601 UTC strings.
Response format
Every response includes:Content-Type: application/json- A JSON body. On error the body matches the error shape.
data key).
On failure, the body is { "statusCode": <number>, "message": "<string>" }.
Authentication
Requests are authenticated with an API key pair:| Header | Value |
|---|---|
x-api-key | Your public key (pk_live_... or pk_test_...) |
x-api-secret | Your secret key (sk_live_... or sk_test_...) |
pk_live_ / sk_live_) targets your live environment; a test key pair (pk_test_ / sk_test_) targets a sandbox environment.
See Authentication for full details.
Environments
Each tenant has one permanent live environment and any number of sandbox environments. API keys are bound to a specific environment — you do not need to pass an environment ID in requests; it is resolved from the key.| Endpoint | Method | Description |
|---|---|---|
/v1/environments | GET | List all environments for the tenant. |
/v1/environments/:id | GET | Retrieve a single environment by ID. |
Customers
Customers are the end-users (buyers, sellers, or account holders) that belong to your tenant. In the backend they are/users resources.
| Endpoint | Method | Description |
|---|---|---|
/v1/users | GET | List customers — paginated, scoped to the active environment, searchable. |
/v1/users/:id | GET | Retrieve a customer by ID. |
/v1/tenants/add-user | POST | Add a customer to the tenant. |
/v1/tenants/add-user-bulk | POST | Bulk-add customers (up to 100 at once). |
Accounts
Accounts represent escrow transactions. Each account links two parties (or one for non-real-estate types) and tracks compliance through its lifecycle.| Endpoint | Method | Description |
|---|---|---|
/v1/accounts | GET | List accounts — paginated, filterable by status, type, date, and archived state. |
/v1/accounts/:id | GET | Retrieve an account by ID — includes full timeline. |
KYC
| Endpoint | Method | Description |
|---|---|---|
/v1/kyc/status/:id | GET | Get KYC status — retrieve current verification status, client information, and provider details. |
Pagination
List endpoints use page-based pagination:| Parameter | Default | Max | Description |
|---|---|---|---|
page | 1 | — | Page number (1-indexed). |
page_size / limit | 10 | 100 | Results per page. |
total, page, totalPages, and a limit (or pageSize) field.
Errors
The API uses standard HTTP status codes:| Status | Meaning |
|---|---|
400 | Bad request — invalid parameters or missing required fields. |
401 | Unauthorized — missing or invalid API key pair. |
403 | Forbidden — valid credentials but insufficient permissions. |
404 | Not found — resource does not exist or belongs to a different tenant. |
409 | Conflict — e.g. plan limit exceeded, duplicate resource. |
410 | Gone — resource has been archived and is no longer accessible. |
500 | Internal server error. |
Quick links
Authentication
API key pairs, scopes, and rotation.
Environments
List and retrieve tenant environments.
Customers
List and retrieve customers by environment.
Accounts
List and manage escrow account lifecycles.
Errors
Full error code reference.