Skip to main content

Base URL

All API requests are made to:

Authentication

Authenticate every request by including your API token in the Authorization header:
Tokens are scoped with granular permissions:
Keep your API tokens secret. Do not expose them in client-side code or public repositories. If a token is compromised, rotate it immediately from the dashboard.

Content Type

All requests and responses use JSON:

Monetary Values

Unwall uses integer representations for all monetary values to avoid floating-point precision issues.

Pagination

List endpoints support pagination with limit and offset parameters.
integer
default:"50"
Number of results to return. Min 1, max 200.
integer
default:"0"
Number of results to skip before returning.
Paginated responses include:
boolean
Whether there are more results beyond the current page.
integer
Total number of matching results.

Idempotency

To safely retry requests without duplicating side effects, include an idempotency_key in the request body of any write operation.
string
A unique key to prevent duplicate operations. Alphanumeric characters plus _, -, :, and . are allowed. Max 255 characters.
If a request with the same idempotency key has already been processed, the original response is returned.
Always include an idempotency key when sending payments from automated systems. Use a deterministic key derived from your application state (e.g., invoice number, order ID).

Rate Limits

API requests are rate-limited to 100 requests per minute per token. When the rate limit is exceeded, the API returns HTTP 429 Too Many Requests with a Retry-After header indicating how many seconds to wait before retrying.

Error Format

All errors return a JSON object with a detail field containing a human-readable error message:

Status Codes