VeroID

Errors

Error handling and response codes

VeroID uses standard HTTP status codes and returns detailed error information in JSON format.

HTTP Status Codes

CodeMeaning
200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
402Payment Required - Insufficient credits
403Forbidden - Your account is not a developer account, or is not approved for this environment
404Not Found - Resource doesn't exist
429Too Many Requests - Rate limited
500Internal Server Error

Error Response Format

{
  "error": "Error Type",
  "code": "ERROR_CODE",
  "message": "Human-readable description",
  "verificationId": "ver_..." 
}

Authentication Errors (401)

{
  "error": "Unauthorized",
  "message": "Missing API key. Include X-API-Key header."
}

Credit Errors (402)

{
  "error": "Payment Required",
  "message": "Insufficient credit balance. Please purchase more credits."
}

Access Errors (403)

Returned when a sk_live_* key is used before the onboarding fee is settled or before VeroID has approved your account for production DVS. This applies to every endpoint, including test-api.veroid.com.au. Use a sk_sandbox_* key until your account is approved.

{
  "error": "Forbidden",
  "message": "Live verification is locked until your account is approved for the production DVS hub. Use a sandbox key against the test endpoint in the meantime."
}

If the onboarding fee is the blocker, the message names it instead:

{
  "error": "Forbidden",
  "message": "Live keys are issued once the one-time developer onboarding fee is paid. Use a sandbox key against the test endpoint in the meantime."
}

The API is only available to developer accounts. If the account has been switched to the dashboard track, its keys stop working entirely:

{
  "error": "Forbidden",
  "message": "API keys are not part of a dashboard account. Switch to a developer account to integrate over the API."
}

Rate Limits

LimitValue
Requests per second10
Requests per minute100
Requests per hour1,000