Skip to main content
All endpoints return errors in a consistent shape with code, status, error string, and context object.
{
  "code": 400,
  "status": "INVALID_ARGUMENT",
  "error": "Description of what went wrong",
  "context": {
    "field": "Additional context about the error"
  }
}

Error reference

Status CodeErrorWhen It OccursHow to Handle
400 Bad RequestINVALID_ARGUMENTInvalid parameters or missing required fieldsCheck request body and query params against the API reference
401 UnauthorizedUNAUTHORIZEDInvalid or missing API keyVerify your pk_live_ or sk_live_ key is correctly set in the X-API-Key header
404 Not FoundNOT_FOUNDOpportunity or membership not foundConfirm the opportunityId exists and the wallet is registered as a member
409 ConflictCONFLICTMembership already exists for this wallet addressCall GET /v1/membership first to check before creating
500 Internal Server ErrorINTERNALServer-side failureRetry with exponential backoff, contact support if persistent