The Verify API enables you to generate, send, and verify OTP codes for the SMS channel. To send OTP codes via SMS, you must create a channel for your brand once.
You will have predefined templates for 10 languages by default when creating a channel.
Endpoint and Headers
Headers
| Header | Sample Value | Description |
|---|---|---|
| X-INS-AUTH-KEY | 1a2b3c4d5e6f | This key is required to authorize your request. Refer to API Authentication Tokens to generate your token. |
| Content-Type | application/json | This header specifies the media type of the resource. |
Body Parameters
| Parameter | Description | Data Type | Required | Rules |
|---|---|---|---|---|
| channel | Channel that you will send the OTP code. | String | Yes | oneof:sms |
| brandName | Your brand name defines your OTP SMS content in pre-defined templates. | String | Yes | min:3 max:30 characters |
Sample Request
Every request made to the request endpoint requires a request body formatted in JSON and containing your parameters.
Below is a sample request to create a new verification channel for SMS with a specified brand name.
curl --location 'https://verify.useinsider.com/v1/channel/create' \
--header 'Content-Type: application/json' \
--header 'x-ins-auth-key: 1a2b3c4d5e6f' \
--data '{
"channel": "sms",
"brandName": "YourBrandName"
}'Sample Responses
201 Created
You will receive the following response when the channel is successfully created.
{
"status": "success"
}400 Bad Request
You will receive the following response if the request body is malformed or missing required fields.
{
"errors": [
{
"message": "invalid request payload"
}
]
}400 Bad Request
You will receive the following response if the channel value is incorrect or unsupported. Only "sms" is accepted for this field.
{
"errors": [
{
"message": "this field must be one of these:sms",
"field": "channel"
}
]
}401 Unauthorized
You will encounter the following error if you enter the incorrect key.
{
"errors": [
{
"message": "unauthorized"
}
]
}429 Too Many Requests
You will see the following error if you exceed the rate limit.
{
"errors": [
{
"message": "rate limit exceeded"
}
]
}500 Internal Server Error
You will receive the following response if a channel with the same brand name already exists.
{
"errors": [
{
"message": "channel already exists"
}
]
}500 Internal Server Error
You will receive the following response if an unexpected issue occurs on the server side.
{
"errors": [
{
"message": "server error"
}
]
}Limitations
- All functions must be executed with a simple HTTPS POST request.
- The API Key should be provided as the authorization key in the request header. If the key is incorrect, the operation will not be executed, and an authorization error will be returned in the response.
- The rate limit is 25 requests per minute.
The default limit shown here is a standard baseline. If your use case requires higher capacity, feel free to reach out to the Insider One team — we can adjust it to fit your needs.