{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/telesign/main/json-schema/telesign-get-verification-response-schema.json", "title": "GET Verification Response", "description": "Succesful response when retrieving a verification process.", "x-generated": "2026-10-07", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/telesign-verify-api-openapi.yml#/components/schemas/GetVerificationResponse", "type": "object", "properties": { "reference_id": { "type": "string", "description": "A unique, randomly generated hex value that identifies your verification service request.", "minLength": 32, "maxLength": 32 }, "recipient": { "$ref": "#/$defs/VerificationRecipient" }, "state": { "type": "string", "description": "The current state of this verification process.", "enum": [ "CREATED", "ONGOING", "REJECTED", "FAILED", "VERIFIED", "CANCELED" ] }, "verification_policy": { "$ref": "#/$defs/VerificationPolicy" }, "inner_methods": { "type": "array", "items": { "$ref": "#/$defs/InnerVerificationMethodStatus" } }, "device_registration": { "type": "string", "description": "This verification process is for the purpose of registering a device for Push Verify. See [Verify API - Register a new device with Push Verify](/enterprise/docs/verify-api-register-a-new-device-with-push-verify) for further context on when to use this. When used with Push Verify, the value of this parameter is `stamp`." }, "external_id": { "type": "string", "description": "A customer-generated ID for this transaction. The response simply echoes the value provided for this parameter." }, "updated_on": { "type": "string", "description": "An [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) timestamp indicating when the status of this verification process was last updated. " }, "created_on": { "type": "string", "description": "A timestamp that indicates when Telesign created this verification process." } }, "required": [ "reference_id", "recipient", "state", "verification_policy", "updated_on", "created_on" ], "$defs": { "InnerVerificationMethodStatus": { "title": "Status of inner verification method", "description": "Contains properties related to the processing status of the specified inner verification method. One verification process can include multiple inner verification methods.", "type": "object", "properties": { "method": { "$ref": "#/$defs/VerificationMethod" }, "state": { "type": "string", "description": "Text describing the processing status of the specified verification method. This is not the same as the overall status of the verification process.", "enum": [ "CREATED", "ONGOING", "SKIPPED", "REJECTED", "FAILED", "VERIFIED", "CANCELED" ] }, "err_code": { "type": "integer", "description": "A numeric code indicating which error occured while attempting to use this verification method." }, "err_msg": { "type": "string", "description": "Text describing the error that occurred while attempting to use this verification method." }, "tried_on": { "type": "string", "description": "A timestamp that indicates when this verification method was attempted." }, "updated_on": { "type": "string", "description": "An [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) timestamp that indicates when the state of attempting verification with this method was last updated." } } }, "VerificationMethod": { "title": "Verification Method", "description": "One of the [verification methods](/enterprise/docs/verify-api-get-started#supported-verification-methods) included in a verification policy. Each method employs a Telesign service, such as Silent Verify or Push Verify.", "type": "string", "enum": [ "silent", "sms", "push", "rcs", "whatsapp", "email", "voice" ] }, "VerificationPolicy": { "title": "Verification Policy", "description": "An ordered set of verification methods and their fallback times that the Verify API uses for this verification process. See [verification policy](/enterprise/docs/verify-api-verification-policy-and-fallback-time) for more details.", "type": "array", "minItems": 1, "items": { "type": "object", "properties": { "method": { "$ref": "#/$defs/VerificationMethod" }, "fallback_time": { "type": "integer", "description": "The time window in seconds that the service waits before abandoning the current verification method and then initiating verification using the next method specified in the active [verification policy](/enterprise/docs/verify-api-verification-policy-and-fallback-time). It is possible for the failover to happen earlier if certain failure conditions occur.", "minimum": 30 } } } }, "VerificationRecipient": { "title": "Verification Recipient", "description": "Contains properties with the recipient identifier for a [verification process](/enterprise/docs/verify-api-get-started#key-terms).", "type": "object", "minProperties": 1, "additionalProperties": false, "properties": { "phone_number": { "type": "string", "description": "The recipient's phone number, as digits without spaces or special characters, beginning with the [country dialing code](/enterprise/docs/codes-languages-and-time-zones#country-codes-and-dialing-codes)." }, "push_app_token": { "type": "string", "description": "Identifies the instance of your mobile application installed on the user's mobile device. This is also called a \"registration token\" in Firebase Cloud Messaging or a \"device token\" in iOS. This is required when using the Push Verify verification method." }, "email": { "type": "string", "description": "The recipient's email address." } } } } }