Sinch · Schema

Sinch Verification

Schema representing a phone number verification request in the Sinch Verification API. Supports multiple verification methods including SMS OTP, flashcall, phone call, and seamless data verification.

CommunicationsMessagingSMSVoiceVerificationCPaaS

Properties

Name Type Description
id string The unique verification request identifier
identity object The identity to verify
method string The verification method to use
status string The current verification status
reason string The reason for a non-successful verification status
reference string A custom reference string for tracking the verification
custom string Custom data to pass to verification callbacks
price object The price of the verification
sms object SMS-specific verification details
flashcall object Flashcall-specific verification details
callout object Callout-specific verification details
seamless object Seamless-specific verification details
View JSON Schema on GitHub

JSON Schema

sinch-verification-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.com/schemas/sinch/verification.json",
  "title": "Sinch Verification",
  "description": "Schema representing a phone number verification request in the Sinch Verification API. Supports multiple verification methods including SMS OTP, flashcall, phone call, and seamless data verification.",
  "type": "object",
  "required": ["identity", "method"],
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique verification request identifier"
    },
    "identity": {
      "$ref": "#/$defs/Identity",
      "description": "The identity to verify"
    },
    "method": {
      "type": "string",
      "enum": ["sms", "flashcall", "callout", "seamless"],
      "description": "The verification method to use"
    },
    "status": {
      "type": "string",
      "enum": ["PENDING", "SUCCESSFUL", "FAIL", "DENIED", "ERROR"],
      "description": "The current verification status"
    },
    "reason": {
      "type": "string",
      "enum": [
        "Not enough credit", "Blocked", "Denied by callback",
        "Invalid callback response", "Internal error",
        "Destination denied", "Network error or number unreachable",
        "Failed pending", "SMS delivery failure",
        "Invalid CLI", "Invalid code", "Expired"
      ],
      "description": "The reason for a non-successful verification status"
    },
    "reference": {
      "type": "string",
      "maxLength": 128,
      "description": "A custom reference string for tracking the verification"
    },
    "custom": {
      "type": "string",
      "description": "Custom data to pass to verification callbacks"
    },
    "price": {
      "$ref": "#/$defs/Price",
      "description": "The price of the verification"
    },
    "sms": {
      "$ref": "#/$defs/SmsVerificationDetails",
      "description": "SMS-specific verification details"
    },
    "flashcall": {
      "$ref": "#/$defs/FlashcallVerificationDetails",
      "description": "Flashcall-specific verification details"
    },
    "callout": {
      "$ref": "#/$defs/CalloutVerificationDetails",
      "description": "Callout-specific verification details"
    },
    "seamless": {
      "$ref": "#/$defs/SeamlessVerificationDetails",
      "description": "Seamless-specific verification details"
    }
  },
  "$defs": {
    "Identity": {
      "type": "object",
      "description": "The identity to verify, typically a phone number",
      "required": ["type", "endpoint"],
      "properties": {
        "type": {
          "type": "string",
          "enum": ["number"],
          "description": "The identity type"
        },
        "endpoint": {
          "type": "string",
          "pattern": "^\\+?[1-9]\\d{1,14}$",
          "description": "The phone number in E.164 format"
        }
      }
    },
    "Price": {
      "type": "object",
      "description": "A monetary amount with currency",
      "properties": {
        "currencyId": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3,
          "description": "The ISO 4217 currency code"
        },
        "amount": {
          "type": "number",
          "minimum": 0,
          "description": "The monetary amount"
        }
      }
    },
    "SmsVerificationDetails": {
      "type": "object",
      "description": "Details specific to SMS verification",
      "properties": {
        "code": {
          "type": "string",
          "pattern": "^[0-9]{4,8}$",
          "description": "The OTP code sent or received"
        },
        "template": {
          "type": "string",
          "description": "The SMS template used for the verification message"
        },
        "interceptionTimeout": {
          "type": "integer",
          "minimum": 0,
          "description": "Timeout in seconds for automatic SMS interception"
        }
      }
    },
    "FlashcallVerificationDetails": {
      "type": "object",
      "description": "Details specific to flashcall verification",
      "properties": {
        "cli": {
          "type": "string",
          "description": "The CLI (Caller Line Identification) of the flashcall"
        },
        "cliFilter": {
          "type": "string",
          "description": "Regex filter pattern for matching the flashcall CLI"
        },
        "interceptionTimeout": {
          "type": "integer",
          "minimum": 0,
          "description": "Timeout in seconds for flashcall interception"
        }
      }
    },
    "CalloutVerificationDetails": {
      "type": "object",
      "description": "Details specific to phone call verification",
      "properties": {
        "code": {
          "type": "string",
          "description": "The verification code spoken during the call"
        }
      }
    },
    "SeamlessVerificationDetails": {
      "type": "object",
      "description": "Details specific to seamless data verification",
      "properties": {
        "targetUri": {
          "type": "string",
          "format": "uri",
          "description": "The target URI for data verification"
        }
      }
    }
  }
}