V2 Alpha — This error format is part of the V2 API preview. Breaking changes may occur.
Overview
All V2 API endpoints return a consistent error format. Errors always includesuccess: false and an error object with a human-readable message and a machine-readable code.
Error Response Format
HTTP Status Codes
| Status | Description |
|---|---|
| 200 | Success |
| 201 | Resource created |
| 400 | Bad request — invalid parameters or missing required fields |
| 401 | Unauthorized — missing, invalid, or expired token |
| 403 | Forbidden — insufficient permissions for this operation |
| 404 | Not found — resource does not exist |
| 409 | Conflict — resource creation/update conflict |
| 429 | Too many requests — rate limit exceeded |
| 500 | Internal server error |
Error Codes
| Code | HTTP Status | Description |
|---|---|---|
UNAUTHORIZED | 401 | Invalid API key or expired token |
FORBIDDEN | 403 | Insufficient permissions for this operation |
NOT_FOUND | 404 | Requested resource not found |
VALIDATION_ERROR | 400 | Request body or query parameters failed validation |
VENDOR_ID_REQUIRED | 400 | Merchant token missing required vendorId parameter |
FULFILLMENT_FAILED | 400 | Fulfillment creation failed |
CONFLICT | 409 | Resource creation/update conflict |
INTERNAL_ERROR | 500 | Unexpected server error |
The
VENDOR_ID_REQUIRED error is specific to merchant tokens. Some endpoints (like fulfillments and payouts) require a vendorId query parameter when using a merchant token to specify which vendor’s data to access.Validation Errors
When request validation fails, themessage field contains details about which fields are invalid: