Properties
| Name | Type | Description |
|---|---|---|
| recipient | string | International phone number that will receive SMS, such as +233241234567, or a bare email address. |
| serviceName | string | Service or application name substituted for {service} in the message template. Length: 2-20 characters. |
| purpose | string | Intent of the verification flow. Supported values are account_creation, account_recovery, email_verification, financial_account_verification, password_reset, payment_confirmation, payment_method_verif |
| tokenSize | number | Generated token length. The current API requires a value from 5 through 10, inclusive. |
| asyncDelivery | boolean | When false or omitted, the request waits for the initial transmission attempt. When true, the transaction can be returned before transmission details are available, with status PendingDelivery. |
| messageTemplate | string | Custom SMS body or email copy. It must include {token} exactly once and can include {service}. |
| sender | string | SMS sender identifier (3-12 characters). Email OTP always uses {service_name} |
| preferredGateway | string | Optional SMS gateway. Do not supply it for email OTP; email uses the configured default provider. |
| transport | string | Optional "sms" or "email". A phone recipient selects SMS and an email recipient selects email when omitted. |
| tokenAlphabet | string | Custom alphabet for token generation. Mutually exclusive with tokenAlphabetType. |
| tokenAlphabetType | string | Predefined alphabet type for token generation. Supported values are Alpha, Alphanumeric, and Numeric. Mutually exclusive with tokenAlphabet. |
| validityDurationInMinutes | number | How long the token remains valid. Accepted values are 3 through 10,080 minutes (7 days), inclusive. Defaults to 10 minutes. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/inttegro-com/json-schema/inttegro-com-post-otp-initiate-request-schema.json",
"title": "PostOtpInitiateRequest",
"x-generated": "2026-11-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/_ae-authored/inttegro-com-openapi-generated.yml#/components/schemas/PostOtpInitiateRequest",
"type": "object",
"properties": {
"recipient": {
"type": "string",
"description": "International phone number that will receive SMS, such as +233241234567, or a bare email address."
},
"serviceName": {
"type": "string",
"description": "Service or application name substituted for {service} in the message template. Length: 2-20 characters."
},
"purpose": {
"type": "string",
"description": "Intent of the verification flow. Supported values are account_creation, account_recovery, email_verification, financial_account_verification, password_reset, payment_confirmation, payment_method_verification, payout_confirmation, phone_verification, sensitive_action, sign_in, transaction_confirmation, and unspecified."
},
"tokenSize": {
"type": "number",
"description": "Generated token length. The current API requires a value from 5 through 10, inclusive."
},
"asyncDelivery": {
"type": "boolean",
"description": "When false or omitted, the request waits for the initial transmission attempt. When true, the transaction can be returned before transmission details are available, with status PendingDelivery."
},
"messageTemplate": {
"type": "string",
"description": "Custom SMS body or email copy. It must include {token} exactly once and can include {service}."
},
"sender": {
"type": "string",
"description": "SMS sender identifier (3-12 characters). Email OTP always uses {service_name} <no-reply@inttegro.com>; omit this field for email."
},
"preferredGateway": {
"type": "string",
"description": "Optional SMS gateway. Do not supply it for email OTP; email uses the configured default provider."
},
"transport": {
"type": "string",
"description": "Optional \"sms\" or \"email\". A phone recipient selects SMS and an email recipient selects email when omitted."
},
"tokenAlphabet": {
"type": "string",
"description": "Custom alphabet for token generation. Mutually exclusive with tokenAlphabetType."
},
"tokenAlphabetType": {
"type": "string",
"description": "Predefined alphabet type for token generation. Supported values are Alpha, Alphanumeric, and Numeric. Mutually exclusive with tokenAlphabet."
},
"validityDurationInMinutes": {
"type": "number",
"description": "How long the token remains valid. Accepted values are 3 through 10,080 minutes (7 days), inclusive. Defaults to 10 minutes."
}
},
"required": [
"recipient",
"serviceName",
"purpose"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/inttegro-com-post-otp-initiate-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.