Error Reference

API response format

All successful responses follow this shape:

Success
{
  "success": true,
  "data": { ... },
  "meta": { ... }
}

All error responses follow this shape:

Error
{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Human readable description"
  }
}

HTTP status codes

CodeMeaning
200Success
201Created
400Bad Request — invalid input
401Unauthorized — invalid or missing API key/token
403Forbidden — you don't have permission
404Not Found — resource doesn't exist
409Conflict — resource already exists or invalid state transition
422Unprocessable Entity — validation failed
429Too Many Requests — rate limited
500Internal Server Error

Common error codes

CodeDescription
MISSING_API_KEYX-API-Key header not provided
INVALID_API_KEYAPI key is invalid or merchant is inactive
VALIDATION_ERRORRequest body failed validation
RESOURCE_NOT_FOUNDThe requested resource does not exist
INVALID_STATUS_TRANSITIONThe escrow cannot transition to the requested status
INSUFFICIENT_PERMISSIONSYou don't have permission for this action
DUPLICATE_DISPUTEA dispute already exists for this escrow
ESCROW_NOT_DISPUTABLEEscrow is not in a status that allows disputes
PAYMENT_LINK_EXPIREDThe payment link has expired
PAYMENT_LINK_NOT_ACTIVEThe payment link is not active