Standard Responses
Every response body is JSON (Content-Type: application/json), except where an endpoint's page says otherwise. Errors are described in Error Handling.
Successful Responses
- 200 OK: The request succeeded. The body is the resource or the list asked for.
- 201 Created: A resource was created. The body is the new resource. Some create endpoints answer
200instead; each endpoint's page says which. - 204 No Content: The request succeeded and there is no body, for example after a delete, or on a read of a record that does not exist yet (such as a customer's KYC record before it is opened).
v3 conventions
Every /v3 response follows the same conventions (see API v3):
| Concern | Convention |
|---|---|
| Ids | TypeIDs: a prefix naming the kind of thing, then the id, e.g. cst_0123456789abcdef0123456789 for a customer, bnk_… for a bank account. |
| Field names | snake_case, in bodies and in query parameters: account_id, pending_credits. |
| Money | An object with a decimal string, never a JSON number: { "amount": "1250.75", "currency": "USD" }. |
| Timestamps | RFC 3339 in UTC: 2026-07-25T12:00:00Z. |
| One resource | The resource itself, as a bare object. |
| A list | The list envelope: data, page, limit, total_items, total_pages. See Pagination. |
Example of a successful response:
A v3 resource, from Get Customer:
{
"id": "cst_01k8x40x9gfx6sv8a99hswy9bd",
"reference": "019a3a40-7530-7f4d-9da1-494c73cf256d",
"name": "Samantha Reyes",
"email": "samantha@example.com",
"customer_type": "individual",
"status": "active",
"verification_status": "approved",
"created_at": "2025-10-31T12:31:34Z",
"updated_at": "2025-11-02T09:14:05Z"
}
A v3 list:
{
"data": [],
"page": 1,
"limit": 25,
"total_items": 0,
"total_pages": 0
}
v2 responses
/api/v2 uses its own conventions: camelCase field names (accountId), UUID ids, and amounts as bare values rather than money objects. Its lists answer data with page, limit and total (see Pagination). Each v2 page shows its response.
Headers on every response
Every response, on /v3 and /api/v2, errors included, carries these headers:
| Header | Value |
|---|---|
Cache-Control | no-store: responses carry your data and are not to be cached. The JWKS endpoint is the exception: public, max-age=3600. |
X-Content-Type-Options | nosniff |
Content-Security-Policy | default-src 'none'; frame-ancestors 'none' |
Referrer-Policy | no-referrer |
Strict-Transport-Security | Present on the sandbox and production hosts: call them over HTTPS only. |
Support and Resources
If you need assistance or have any questions, our support team is here to help. You can contact our support team at support@blockwyre.com.
Stay Updated
Stay up-to-date with the latest news, updates, and features from BlockWyre by following us on social media:
- Instagram: BlockWyre Instagram
- Twitter: BlockWyre Twitter
- Facebook: BlockWyre Facebook
- LinkedIn: BlockWyre LinkedIn
We are excited to have you on board and look forward to seeing how you leverage BlockWyre's powerful tools to enhance your financial operations. Happy integrating!