Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.didx.co.za/llms.txt

Use this file to discover all available pages before exploring further.

Error Response Format

All APIs follow the JSON:API error format. Errors are returned as an array in the errors field:
{
  "errors": [
    {
      "id": "a1b2c3d4",
      "status": "400",
      "code": "VALIDATION_ERROR",
      "title": "Bad Request",
      "detail": "email must be a valid email address",
      "source": {
        "pointer": "/data/attributes/email"
      }
    }
  ]
}
FieldDescription
idUnique identifier for this error occurrence
statusHTTP status code as a string
codeMachine-readable error code
titleShort, human-readable summary of the error
detailSpecific explanation of what went wrong
source.pointerJSON pointer to the request field that caused the error
source.parameterQuery parameter that caused the error (if applicable)
metaAdditional metadata about the error (if applicable)
Only detail is guaranteed to be present. All other fields are optional.

HTTP Status Codes

StatusCodeDescription
Unauthorized401Authentication token is missing or has expired, request a new token
Bad Request400The request contains invalid or malformed parameters
Not Found404The requested resource (template, user, presentation, etc.) doesn’t exist
Conflict409The resource already exists (e.g., duplicate user)
Internal Server Error500An unexpected error occurred on the server. Retry after a short delay; contact support if it persists.

Common Errors

Your access token is missing, expired, or invalid.Fix: Request a new access token from the authentication endpoint. Tokens expire after 300 seconds (5 minutes).
{
  "errors": [
    {
      "status": "401",
      "code": "UNAUTHORIZED",
      "detail": "Access token is missing or expired"
    }
  ]
}
The request body contains invalid data. Check the detail and source fields to identify the issue.
{
  "errors": [
    {
      "status": "400",
      "code": "VALIDATION_ERROR",
      "title": "Bad Request",
      "detail": "email must be a valid email address",
      "source": {
        "pointer": "/data/attributes/email"
      }
    }
  ]
}
The resource you referenced doesn’t exist. This typically means a template ID, user ID, or presentation ID is incorrect or has been deleted.
{
  "errors": [
    {
      "status": "404",
      "code": "NOT_FOUND",
      "detail": "Credential template not found"
    }
  ]
}
The resource you are trying to create already exists.
{
  "errors": [
    {
      "status": "409",
      "code": "CONFLICT",
      "detail": "User with this email already exists"
    }
  ]
}
An unexpected error occurred on the server. This is not caused by your request. Retry after a short delay; if the issue persists, contact support.
{
  "errors": [
    {
      "status": "500",
      "code": "INTERNAL_SERVER_ERROR",
      "detail": "An unexpected error occurred"
    }
  ]
}