Reference

Errors

Every error returns a structured JSON body with a stable code, a human message, and a request_id for support.

Shape#

json
json
{
  "error": "VALIDATION_ERROR",
  "message": "Request validation failed",
  "request_id": "req_01HX7K2A3B4C5D",
  "details": [
    { "field": "member.date_of_birth", "message": "Must be a valid ISO 8601 date" }
  ]
}

Common codes#

CodeStatusMeaning
VALIDATION_ERROR422Request body failed schema validation
AUTHENTICATION_FAILED401Missing or invalid credentials
PERMISSION_DENIED403Authenticated but not permitted
RESOURCE_NOT_FOUND404Resource does not exist or is filtered by tenant
IDENTITY_MISMATCH422NIN/BVN data did not match enrollment
IDEMPOTENCY_CONFLICT409Idempotency key used with a different body
RATE_LIMITED429Tier limit exceeded; honour Retry-After
UPSTREAM_UNAVAILABLE502HMO or payment gateway is unreachable

When you need help#

Always quote the request_id when filing a support ticket. It lets us replay the exact call without you re-sending the body.