Introduction
VerifyAPI is a simple API that enables consumers to verify the identity of a user through a variety of channels such as Voice and SMS.
REST APIs
The various VerifyAPI APIs are organized around REST. Our APIs have predictable resource-oriented URLs, accepts JSON-encoded request bodies and returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
Errors
VerifyAPI uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a destination failed, etc.). Codes in the 5xx range indicate an error with VerifyAPI servers (these are rare).
Some 4xx errors that could be handled programmatically (e.g., a destination is invalid) include an error code that briefly explains the error reported.
HTTP Status | Error Code | Description |
---|---|---|
200 | OK | Everything worked as expected. |
400 | Bad Request | The request was unacceptable, often due to missing a required parameter. |
401 | Unauthorized | No valid API key provided. |
402 | Request Failed | The parameters were valid but the request failed. |
403 | Forbidden | The API key doesn’t have permissions to perform the request. |
404 | Not Found | The requested resource doesn’t exist. |
409 | Conflict | The request conflicts with another request (perhaps due to using the same idempotent key). |
429 | Too Many Requests | Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. |
500, 502, 503, 504 | Server Errors | Something went wrong on VerifyAPI's end. (These are rare.) |
Rate Limiting
We implement rate limiting on some endpoints to avoid abuse and ensure availability, particularly with authentication endpoints. If you receive an HTTP 429 Too Many Requests
response, you are being rate limited and are likely black listed for a short period of time before being allowed to try again. You should design your integration to ensure you are not sending too many requests per second.
If your traffic throughput is high, and you are being subjected to rate limiting, please get in touch with us