{"openapi":"3.0.0","info":{"title":"App Verify API","version":"1.0","description":"The Telesign App Verify API allows you to easily integrate frictionless phone number verification on iOS and Android using voice calls.\n\n","contact":{"name":"Telesign Customer Support Team","email":"support@telesign.com"}},"servers":[{"url":"https://rest-ww.telesign.com"}],"paths":{"/v1/verify/auto/voice/initiate":{"post":{"description":"Use this endpont to initiate verification of the specified phone number using the Telesign App Verify API.\n\nTo add this product to your account, [contact a Telesign expert](https://www.telesign.com/contact-sales?utm_campaign=contact%20sales%20form&utm_source=developer_portal&utm_medium=Referrer&utm_content=app_verify). This product is available for Full-service accounts only.\n\n## General requirements\n* **Authentication:** [Basic](/enterprise/docs/authentication#basic-authentication) (easiest to implement) and [Digest](/enterprise/docs/authentication#digest-authentication)\n* **Encoding:** Accepts only UTF-8 encoded unicode characters as inputs\n* **Accepts:** `application/x-www-form-urlencoded`\n* **Required headers:** `Content-Type - application/x-www-form-urlencoded`\n* **Rate limit:** [Default rate limits by product](https://support.telesign.com/s/article/do-you-have-any-rate-limits)","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"phone_number":{"description":"Your end user's phone number, including the country code.","type":"string","example":"11234567890"},"carrier":{"type":"string","description":"The name of the company providing communication services for the device. This parameter takes the form of a string that can be up to 32 characters long. "},"connection_type":{"type":"string","description":"The type of connection the device uses, such as WiFi or cellular. This parameter is an integer up to 3 characters long."},"device_icc":{"type":"string","description":"The international country code for the carrier for the device. This is an integer that is 3 characters long."},"device_phone_number":{"type":"string","description":"The phone number associated with the device. This parameter is a string that can be up to 32 characters long."},"is_roaming":{"type":"string","description":"Whether the device is considered to be roaming in the current network, for Global System for Mobile Communications (GSM) purposes. It is an integer that is 1 character long."},"is_voice_capable":{"type":"string","description":"Whether the device is capable of sending and receiving voice calls and messages. It is an integer that is 1 character long. "},"network_type":{"type":"string","description":"The type of network the device is in. It is an integer that is 3 characters long. "},"os_version":{"type":"string","description":"The version of the operating system the device uses.","minLength":8,"maxLength":8},"platform_version":{"type":"string","description":"The version of Android the device uses.","minLength":8,"maxLength":8},"verify_code":{"type":"string","description":"If you choose to specify a code (it should be five digits long), then you would add it to your initiate request as a string as shown in the example. You must have this feature enabled, speak with our Customer Support Team for assistance.","example":"20085"},"verification_timeout":{"description":"The time in seconds that the handset is going to wait for the verification call to arrive, from the time it receives a successful initiate response. The call time is limited to 45 seconds.","type":"integer"}},"required":["phone_number"]}}}},"responses":{"200":{"description":"Your request was fulfilled and resulted in a new resource being created. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/initiate-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/auto/voice/finalize","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_initiate","errors":[],"status":{"updated_on":"2025-03-05T21:47:07.962922Z","code":2400,"description":"Pending"},"prefix":"4478730","verify_code":"20085"}}}}}},"400":{"description":"Bad request, the request could not be understood by the server due to malformed syntax. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error code | Description |\n|------------|-------------|\n| -10001 | Not Allowed Host (indicates that the IP address you are connecting from is not authorized to access the service) -or- Unsupported product name | \n| -30002 | Account not activated |\n| -30003 | Account limit reached |\n| -30014 | Invalid App Verify API finalize | \n| -40006 | Bad Request | \n| -40007 | Rate limit exceeded | \n| -40022 | App Verify API not supported | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/400-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/6656AA192038075C91D2D27C4538A13F","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_initiate","errors":[{"code":-10001,"description":"Invalid Request: CountryCode Parameter"}],"status":{"updated_on":"2025-03-18T18:31:21.887826Z","code":500,"description":"Transaction not attempted"}}}}}}},"401":{"description":"Unauthorized, the request requires user authentication. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error codes | Description |\n|-------------|-------------|\n| -10009 | Invalid source IP address |\n| -20002 | This product is not enabled for this customer ID |\n| -20003 | This feature is not enabled for this CustomerID  |\n| -30002 | CustomerID Account Not Activated | \n| -30003 | CustomerID New Account Limit Reached |\n| -40002 | Not Authorized | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/401-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/5653CD19B3180E5C91D3EE1513C83A2E","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_initiate","errors":[{"code":-20002,"description":"This product is not enabled for this CustomerID."}],"status":{"updated_on":"2025-02-11T04:31:06.490271Z","code":501,"description":"Not authorized"}}}}}}},"404":{"description":"Not Found, the server has not found anything matching the Request-URI. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error codes | Description |\n|-------------|-------------|\n| -40004 | Resource not found | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/404-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2025-02-10T13:49:36.722550Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-40004,"description":"Resource Not Found"}]}}}}}},"405":{"description":"Indicates that the request method is known by the server but has been disabled and cannot be used. \n\n| Error codes | Description |\n|-------------|-------------|\n| -40005 | Method not allowed |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/405-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2025-02-10T13:50:03.589088Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-40005,"description":"Method Not Allowed"}]}}}}}},"429":{"description":"Too Many Requests, the user sent too many requests in a given amount of time. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error code | Description |\n|------------|-------------|\n| -40008 | [Product method] exceed transaction hard cap; Request denied |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/405-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/6653CD83E47C075C91D037301978F5CF","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_initiate","errors":[{"code":-40008,"description":"AutoVerify API Call exceeded transaction hard cap. Request denied."}],"status":{"updated_on":"2025-02-11T05:00:06.334800Z","code":500,"description":"Transaction not attempted"}}}}}}},"503":{"description":"Service Unavailable, system unavailable, try again. Error codes are listed in the `error` parameter in the response. \n\n| Error Code | Description |\n|-----------|-------------|\n| -90001 | System unavailable; please try again later |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/503-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2024-01-17T22:38:49.184280Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-90001,"description":"System Unavailable, Please try again later."}]}}}}}}},"operationId":"sendAppVerifyCode","summary":"Send call with verification code","tags":["Initiate"]}},"/v1/verify/auto/voice/{reference_id}":{"get":{"description":"Use this endpoint to get the status of a Telesign App Verify API request that you initiated.\n\nTo add this product to your account, [contact a Telesign expert](https://www.telesign.com/contact-sales?utm_campaign=contact%20sales%20form&utm_source=developer_portal&utm_medium=Referrer&utm_content=app_verify). This product is available for full-service accounts only.\n\n## General requirements\n* **Authentication:** [Basic](/enterprise/docs/authentication#basic-authentication) (easiest to implement) and [Digest](/enterprise/docs/authentication#digest-authentication)\n* **Encoding:** Accepts only UTF-8 encoded unicode characters as inputs\n* **Accepts:** `application/x-www-form-urlencoded`\n* **Required headers:** `Content-Type - application/x-www-form-urlencoded`\n* **Rate limit:** [Default rate limits by product](https://support.telesign.com/s/article/do-you-have-any-rate-limits)","parameters":[{"in":"path","name":"reference_id","required":true,"description":"The reference identifier that Telesign returned in the response to your request to the initiate endpoint. Use it here to determine the status of your voice call. \n","schema":{"type":"string"}}],"responses":{"200":{"description":"Your request was fulfilled and resulted in a new resource being created. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. \n","content":{"applicaton/json":{"schema":{"$ref":"#/components/schemas/get-av-status-response"},"examples":{"Response":{"value":{"reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"app_verify_api","errors":[],"status":{"updated_on":"2025-03-28T21:19:42.406000Z","code":2401,"description":"Success"}}}}}}},"400":{"description":"Bad request, the request could not be understood by the server due to malformed syntax. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error code | Description |\n|------------|-------------|\n| -10001 | Not Allowed Host (indicates that the IP address you are connecting from is not authorized to access the service) -or- Unsupported product name | \n| -50059 | Status not available | \n","content":{"applicaton/json":{"schema":{"$ref":"#/components/schemas/400-av-response"},"examples":{"Response":{"value":{"reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"app_verify_api","errors":[{"code":-10001,"description":"Invalid Request: ReferenceID Parameter: 6657DCAEF714045C91D755B4C988A7D"}],"status":{"updated_on":"2025-04-02T18:44:53.217356Z","code":500,"description":"Transaction not attempted"}}}}}}},"401":{"description":"Unauthorized, the request requires user authentication. If \nyou want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error codes | Description |\n|-------------|-------------|\n| -10009 | Invalid source IP address |\n| -40002 | Not Authorized | \n","content":{"applicaton/json":{"schema":{"$ref":"#/components/schemas/401-av-response"},"examples":{"Response":{"value":{"reference_id":"C6577A9BD164015C89D6BB4A1BA801E1","sub_resource":"app_verify_api","errors":[{"code":-20002,"description":"This product is not enabled for this CustomerID."}],"status":{"updated_on":"2025-03-28T21:27:35.593021Z","code":501,"description":"Not authorized"}}}}}}},"404":{"description":"Not found. The server has not found anything matching the request URI. Code against the Telesign status or error codes from the status.code and errors.code properties in the response payload, rather than the HTTP status code of the response.\n\n\n| Error code | Description |\n|------------|-------------|\n| -10004     | Reference ID expired. |","content":{"application/json":{"schema":{"$ref":"#/components/schemas/404-av-response"},"examples":{"Response":{"value":{"reference_id":"665728003420025C91D5CDEF02F89BDF","sub_resource":"app_verify_api","errors":[{"code":-10004,"description":"ReferenceID expired."}],"status":{"updated_on":"2025-03-28T21:24:25.016431Z","code":599,"description":"Status not available"}}}}}}},"429":{"description":"Too Many Requests, the user sent too many requests in a given amount of time. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error code | Description |\n|------------|-------------|\n| -40008 | [Product method] exceed transaction hard cap; Request denied |\n","content":{"applicaton/json":{"schema":{"$ref":"#/components/schemas/429-av-response"},"examples":{"Response":{"value":{"reference_id":"6657B9BCB6E4055C91D0EA1E99B839E6","sub_resource":"app_verify_api","errors":[{"code":-40008,"description":"AutoVerify API Call exceeded transaction hard cap. Request denied."}],"status":{"updated_on":"2025-03-31T23:02:06.560719Z","code":500,"description":"Transaction not attempted"}}}}}}},"503":{"description":"Service Unavailable, system unavailable, try again. Error codes are listed in the `error` parameter in the response. \n\n| Error code | Description |\n|------------|-------------|\n| -90001 | System unavailable; please try again later |\n","content":{"applicaton/json":{"schema":{"$ref":"#/components/schemas/503-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2024-01-17T22:38:49.184280Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-90001,"description":"System Unavailable, Please try again later."}]}}}}}}},"summary":"Get transaction status","operationId":"getAppVerifyStatus","tags":["Transaction Status"]},"parameters":[{"name":"reference_id","in":"path","required":true,"schema":{"type":"string"}}]},"/v1/verify/auto/voice/finalize":{"post":{"description":"Use this endpoint to terminate a call created using the Telesign App Verify API if the handset does not terminate the call in your application.\n\nTo add this product to your account, [contact a Telesign expert](https://www.telesign.com/contact-sales?utm_campaign=contact%20sales%20form&utm_source=developer_portal&utm_medium=Referrer&utm_content=app_verify). This product is available for full-service accounts only.\n\n## General requirements\n* **Authentication:** [Basic](/enterprise/docs/authentication#basic-authentication) (easiest to implement) and [Digest](/enterprise/docs/authentication#digest-authentication)\n* **Encoding:** Accepts only UTF-8 encoded unicode characters as inputs\n* **Accepts:** `application/x-www-form-urlencoded`\n* **Required headers:** `Content-Type - application/x-www-form-urlencoded`\n* **Rate limit:** [Default rate limits by product](https://support.telesign.com/s/article/do-you-have-any-rate-limits)","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"reference_id":{"description":"The reference identifier that Telesign generates and returns in its response to your verify/call service request. This value uniquely identifies each Telesign web service request. [Example] `reference_id=ABCDEF0123456789ABCDEF0123456789`","type":"string"},"verify_code":{"description":"Caller ID parsed by app from the caller id displayed on the device.","type":"string"}},"required":["reference_id"]}}}},"responses":{"200":{"description":"Your request was fulfilled and resulted in a new resource being created. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finalize-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/6656E61D9674045C91D417A1EC38210A","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize","errors":[],"status":{"updated_on":"2025-03-21T16:27:03.473939Z","code":2401,"description":"Success"},"verify_code":"69816"}}}}}},"400":{"description":"Bad request, the request could not be understood by the server due to malformed syntax. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error Code | Description |\n|------------|-------------|\n| -10001 | Not Allowed Host (indicates that the IP address you are connecting from is not authorized to access the service) -or- Unsupported product name | \n| -30002 | Account not activated |\n| -30003 | Account limit reached |\n| -30014 | Invalid App Verify API finalize | \n| -40006 | Bad Request | \n| -40007 | Rate limit exceeded | \n| -40022 | App Verify API not supported | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/400-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/56537C73FCF8105C91D50C5F18A804A1","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize","errors":[{"code":-30014,"description":"Invalid AutoVerify API finalize"}],"status":{"updated_on":"2025-02-11T04:18:43.622704Z","code":500,"description":"Transaction not attempted"}}}}}}},"401":{"description":"Unauthorized, the request requires user authentication. If \nyou want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error Codes | Description |\n|-------------|-------------|\n| -10009 | Invalid source IP address |\n| -20002 | This product is not enabled for this customer ID |\n| -20003 | This feature is not enabled for this CustomerID  |\n| -30002 | CustomerID Account Not Activated | \n| -30003 | CustomerID New Account Limit Reached |\n| -40002 | Not Authorized | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/401-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/6656D4191A40085C91D579B25378B387","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize","errors":[{"code":-20002,"description":"This product is not enabled for this CustomerID."}],"status":{"updated_on":"2025-03-20T19:27:32.763463Z","code":501,"description":"Not authorized"}}}}}}},"404":{"description":"Not Found, the server has not found anything matching the Request-URI. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error Codes | Description |\n|-------------|-------------|\n| -40004 | Resource not found | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/404-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2025-02-10T13:49:36.722550Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-40004,"description":"Resource Not Found"}]}}}}}},"405":{"description":"Indicates that the request method is known by the server but has been disabled and cannot be used. \n\n| Error Codes | Description |\n|-------------|-------------|\n| -40005 | Method not allowed |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/405-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2025-02-10T13:50:03.589088Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-40005,"description":"Method Not Allowed"}]}}}}}},"429":{"description":"Too Many Requests, the user sent too many requests in a given amount of time. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error Code | Description |\n|------------|-------------|\n| -40008 | [Product method] exceed transaction hard cap; Request denied |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/429-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/6656D45AE68C025C91D5CE06CC78B901","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize","errors":[{"code":-40008,"description":"AutoVerify API Call exceeded transaction hard cap. Request denied."}],"status":{"updated_on":"2025-03-20T19:45:29.755819Z","code":500,"description":"Transaction not attempted"}}}}}}},"503":{"description":"Service Unavailable, system unavailable, try again. Error codes are listed in the `error` parameter in the response. \n\n| Error Code | Description |\n|------------|-------------|\n| -90001 | System unavailable; please try again later |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/503-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2024-01-17T22:38:49.184280Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-90001,"description":"System Unavailable, Please try again later."}]}}}}}}},"summary":"End call","operationId":"endAppVerifyCall","tags":["Finalize"]}},"/v1/verify/auto/voice/finalize/callerid":{"post":{"description":"If a Telesign App Verify API call is unsuccessful, the device will not receive the call. If there is a prefix sent by Telesign in the initiate request and it cannot be matched to the CLI of the verification call, you can use use this endpoint to report the issue to Telesign for troubleshooting.\n\nTo add this product to your account, [contact a Telesign expert](https://www.telesign.com/contact-sales?utm_campaign=contact%20sales%20form&utm_source=developer_portal&utm_medium=Referrer&utm_content=app_verify). This product is available for full-service accounts only.\n\n## General requirements\n* **Authentication:** [Basic](/enterprise/docs/authentication#basic-authentication) (easiest to implement) and [Digest](/enterprise/docs/authentication#digest-authentication)\n* **Encoding:** Accepts only UTF-8 encoded unicode characters as inputs\n* **Accepts:** `application/x-www-form-urlencoded`\n* **Required headers:** `Content-Type - application/x-www-form-urlencoded`\n* **Rate limit:** [Default rate limits by product](https://support.telesign.com/s/article/do-you-have-any-rate-limits)","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"customer_id":{"description":"Your customer ID, assigned to you by Telesign.","type":"string"},"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","example":"DEF0123456789ABCDEF0123456789"},"unknown_caller_id":{"description":"The caller ID that was not recognized.","type":"string"}},"required":["reference_id","unknown_caller_id"]}}}},"responses":{"200":{"description":"Your request was fulfilled and resulted in a new resource being created. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/caller-id-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/665728003420025C91D5CDEF02F89BDF","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize_unknown","errors":[],"status":{"updated_on":"2025-03-24T21:12:50.289628Z","code":2407,"description":"Caller ID prefix did not match"}}}}}}},"400":{"description":"Bad request, the request could not be understood by the server due to malformed syntax. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error code | Description |\n|------------|-------------|\n| -10001 | Not Allowed Host (indicates that the IP address you are connecting from is not authorized to access the service) -or- Unsupported product name | \n| -30002 | Account not activated |\n| -30003 | Account limit reached |\n| -30014 | Invalid App Verify API finalize | \n| -40006 | Bad Request | \n| -40007 | Rate limit exceeded | \n| -40022 | App Verify API not supported | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/400-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/665728003420025C91D5CDEF02F89BDF","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize_unknown","errors":[{"code":-30014,"description":"Invalid AutoVerify API finalize"}],"status":{"updated_on":"2025-03-24T21:14:52.816464Z","code":500,"description":"Transaction not attempted"}}}}}}},"401":{"description":"Unauthorized, the request requires user authentication. If \nyou want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error codes | Description |\n|-------------|-------------|\n| -10009 | Invalid source IP address |\n| -20002 | This product is not enabled for this customer ID |\n| -20003 | This feature is not enabled for this CustomerID  |\n| -30002 | CustomerID Account Not Activated | \n| -30003 | CustomerID New Account Limit Reached |\n| -40002 | Not Authorized | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/401-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/665728003420025C91D5CDEF02F89BDF","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize_unknown","errors":[{"code":-20002,"description":"This product is not enabled for this CustomerID."}],"status":{"updated_on":"2025-03-24T21:15:56.180615Z","code":501,"description":"Not authorized"}}}}}}},"404":{"description":"Not Found, the server has not found anything matching the Request-URI. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error codes | Description |\n|-------------|-------------|\n| -40004 | Resource not found | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/404-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2025-02-10T13:49:36.722550Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-40004,"description":"Resource Not Found"}]}}}}}},"405":{"description":"Indicates that the request method is known by the server but has been disabled and cannot be used. \n\n| Error codes | Description |\n|-------------|-------------|\n| -40005 | Method not allowed |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/405-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2025-02-10T13:50:03.589088Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-40005,"description":"Method Not Allowed"}]}}}}}},"429":{"description":"Too Many Requests, the user sent too many requests in a given amount of time. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error code | Description |\n|------------|-------------|\n| -40008 | [Product method] exceed transaction hard cap; Request denied |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/429-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/665728003420025C91D5CDEF02F89BDF","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize_unknown","errors":[{"code":-40008,"description":"AutoVerify API Call exceeded transaction hard cap. Request denied."}],"status":{"updated_on":"2025-03-24T21:17:47.715138Z","code":500,"description":"Transaction not attempted"}}}}}}},"503":{"description":"Service Unavailable, system unavailable, try again. Error codes are listed in the `error` parameter in the response. \n\n| Error code | Description |\n|-----------|-------------|\n| -90001 | System unavailable; please try again later |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/503-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2024-01-17T22:38:49.184280Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-90001,"description":"System Unavailable, Please try again later."}]}}}}}}},"summary":"Report unknown caller ID","operationId":"reportAppVerifyCallerID","tags":["Finalize"]}},"/v1/verify/auto/voice/finalize/timeout":{"post":{"description":"If a mobile device verification call does not make it to the designated handset within the specified amount of time, you can use the Finalize Timeout endpoint to report the issue to Telesign.\n\nTo add this product to your account, [contact a Telesign expert](https://www.telesign.com/contact-sales?utm_campaign=contact%20sales%20form&utm_source=developer_portal&utm_medium=Referrer&utm_content=app_verify). This product is available for full-service accounts only.\n\n## General requirements\n* **Authentication:** [Basic](/enterprise/docs/authentication#basic-authentication) (easiest to implement) and [Digest](/enterprise/docs/authentication#digest-authentication)\n* **Encoding:** Accepts only UTF-8 encoded unicode characters as inputs\n* **Accepts:** `application/x-www-form-urlencoded`\n* **Required headers:** `Content-Type - application/x-www-form-urlencoded`\n* **Rate limit:** [Default rate limits by product](https://support.telesign.com/s/article/do-you-have-any-rate-limits)","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","example":"0123456789ABCDEF0123456789ABCDEF"}},"required":["reference_id"]}}}},"responses":{"200":{"description":"Your request was fulfilled and resulted in a new resource being created. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/200-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/2657270BF1AC075C91D69D9A76E8600C","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize_timeout","errors":[],"status":{"updated_on":"2025-03-24T20:06:01.454168Z","code":2409,"description":"Verification call not received"}}}}}}},"400":{"description":"Bad request, the request could not be understood by the server due to malformed syntax. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response.\n\n| Error code | Description |\n|------------|-------------|\n| -10001 | Not Allowed Host (indicates that the IP address you are connecting from is not authorized to access the service) -or- Unsupported product name | \n| -30002 | Account not activated |\n| -30003 | Account limit reached |\n| -30014 | Invalid App Verify API finalize | \n| -40006 | Bad Request | \n| -40007 | Rate limit exceeded | \n| -40022 | App Verify API not supported | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/400-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/2657270BF1AC075C91D69D9A76E8600C","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize_timeout","errors":[{"code":-30014,"description":"Invalid AutoVerify API finalize"}],"status":{"updated_on":"2025-03-24T20:28:42.895356Z","code":500,"description":"Transaction not attempted"}}}}}}},"401":{"description":"Unauthorized, the request requires user authentication. If \nyou want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error codes | Description |\n|-------------|-------------|\n| -10009 | Invalid source IP address |\n| -20002 | This product is not enabled for this customer ID |\n| -20003 | This feature is not enabled for this CustomerID  |\n| -30002 | CustomerID Account Not Activated | \n| -30003 | CustomerID New Account Limit Reached |\n| -40002 | Not Authorized | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/401-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/2657270BF1AC075C91D69D9A76E8600C","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize_timeout","errors":[{"code":-20002,"description":"This product is not enabled for this CustomerID."}],"status":{"updated_on":"2025-03-24T20:35:57.833153Z","code":501,"description":"Not authorized"}}}}}}},"404":{"description":"Not Found, the server has not found anything matching the Request-URI. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error codes | Description |\n|-------------|-------------|\n| -40004 | Resource not found | \n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/404-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2025-02-10T13:49:36.722550Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-40004,"description":"Resource Not Found"}]}}}}}},"405":{"description":"Indicates that the request method is known by the server but has been disabled and cannot be used. \n\n| Error codes | Description |\n|-------------|-------------|\n| -40005 | Method not allowed |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/405-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2025-02-10T13:50:03.589088Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-40005,"description":"Method Not Allowed"}]}}}}}},"429":{"description":"Too Many Requests, the user sent too many requests in a given amount of time. If you want to code against a response, you should retrieve the status or error code and use that rather than the HTTP status response. Error codes are listed in the `error` parameter in the response. \n\n| Error code | Description |\n|------------|-------------|\n| -40008 | [Product method] exceed transaction hard cap; Request denied |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/429-av-response"},"examples":{"Response":{"value":{"resource_uri":"/v1/verify/2657270BF1AC075C91D69D9A76E8600C","reference_id":"0123456789ABCDEF0123456789ABCDEF","sub_resource":"auto_verify_finalize_timeout","errors":[{"code":-40008,"description":"AutoVerify API Call exceeded transaction hard cap. Request denied."}],"status":{"updated_on":"2025-03-24T20:49:12.901799Z","code":500,"description":"Transaction not attempted"}}}}}}},"503":{"description":"Service Unavailable, system unavailable, try again. Error codes are listed in the `error` parameter in the response. \n\n| Error code | Description |\n|------------|-------------|\n| -90001 | System unavailable; please try again later |\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/503-av-response"},"examples":{"Response":{"value":{"reference_id":null,"sub_resource":null,"status":{"updated_on":"2024-01-17T22:38:49.184280Z","code":500,"description":"Transaction not attempted"},"errors":[{"code":-90001,"description":"System Unavailable, Please try again later."}]}}}}}}},"summary":"Report timeout","operationId":"reportAppVerifyTimeout","tags":["Finalize"]}}},"components":{"schemas":{"initiate-av-response":{"type":"object","title":"InitiateAVResponse","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","minLength":32,"maxLength":32,"example":"0123456789ABCDEF0123456789ABCDEF"},"sub_resource":{"type":"string","description":"The name of the subresource accessed.","example":"auto_verify_initiate"},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","description":"Contains properties related to an error that occurred during processing of the request.","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","description":"A numeric code indicating the processing status of this request.\n \n| Value | Description | \n|-------|-------------| \n| 2400 | Pending | \n| 2401 | Success | \n| 2402 | Failure | \n| 2403 | Not Attempted | \n| 2404 | Invalid Phone Number | \n| 2405 | Not Supported | \n| 2407 | CallerID prefix did not match | \n| 2408 | Unsupported phone type | \n| 2409 | Verification call not received |\n| 2410 | Please retry verification |\n| 2411 | Verification call failed |\n| 2429 | Call blocked by customer request | \n| 2430 | Call blocked by Telesign | \n","example":2400},"description":{"type":"string","description":"Text describing the transaction status.","example":"Pending"},"updated_on":{"type":"string","description":"An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp indicating when the transaction status was updated.","example":"2025-03-05T21:47:07.962922Z"}}},"resource_uri":{"type":"string","description":"You should disregard this parameter, as it is not currently needed to use the API."},"verify_code":{"type":"string","description":"The code you sent us for verification. Obtained from the last five digits of the caller ID.\n\n","example":"20085"},"prefix":{"type":"string","description":"The first digits included in the caller ID returned by Telesign. Remove these from the beginning of the caller ID to get the verify code.","example":"4478730"}}},"finalize-av-response":{"type":"object","title":"FinalizeAVResponse","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","minLength":32,"maxLength":32,"example":"0123456789ABCDEF0123456789ABCDEF"},"sub_resource":{"type":"string","description":"The name of the subresource accessed.","example":"auto_verify_finalize"},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","description":"Contains properties related to an error that occurred during processing of the request.","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","description":"A numeric code indicating the processing status of this request.\n\n| Value | Description | \n|-------|-------------| \n| 2400 | Pending | \n| 2401 | Success | \n| 2402 | Failure | \n| 2403 | Not Attempted | \n| 2404 | Invalid Phone Number | \n| 2405 | Not Supported | \n| 2407 | CallerID prefix did not match | \n| 2408 | Unsupported phone type | \n| 2409 | Verification call not received |\n| 2410 | Please retry verification |\n| 2411 | Verification call failed |\n| 2429 | Call blocked by customer request | \n| 2430 | Call blocked by Telesign | \n","example":2401},"description":{"type":"string","description":"Text describing the transaction status.","example":"Success"},"updated_on":{"type":"string","description":"An [RFC 3339](http://www.ietf.org/rfc/rfc3339.txt) timestamp indicating when the request status was updated. ","example":"2025-03-21T16:27:03.473939Z"}}},"resource_uri":{"type":"string","description":"You should disregard this parameter, as it is not currently needed to use the API."},"verify_code":{"type":"string","description":"The code you sent us for verification. Obtained from the last five digits of the caller ID.\n\n","example":"69816"}}},"get-av-status-response":{"type":"object","title":"GetAVStatusResponse","x-examples":{},"properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","minLength":32,"maxLength":32,"example":"0123456789ABCDEF0123456789ABCDEF"},"sub_resource":{"type":"string","description":"The name of the subresource accessed.","example":"app_verify_api"},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","description":"Contains properties related to an error that occurred during processing of the request.","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","description":"A numeric code indicating the processing status of this request.\n \n| Value | Description | \n|-------|-------------| \n| 2400 | Pending | \n| 2401 | Success | \n| 2402 | Failure | \n| 2403 | Not Attempted | \n| 2404 | Invalid Phone Number | \n| 2405 | Not Supported | \n| 2407 | CallerID prefix did not match | \n| 2408 | Unsupported phone type | \n| 2409 | Verification call not received |\n| 2410 | Please retry verification |\n| 2411 | Verification call failed |\n| 2429 | Call blocked by customer request | \n| 2430 | Call blocked by Telesign | \n","example":2401},"description":{"type":"string","description":"Text describing the transaction status.","example":"Success"},"updated_on":{"type":"string","description":"An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp indicating when the transaction status was updated.","example":"2025-03-28T21:19:42.406000Z"}}}}},"caller-id-av-response":{"title":"CallerIDAVResponse","type":"object","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","minLength":32,"maxLength":32,"example":"0123456789ABCDEF0123456789ABCDEF"},"sub_resource":{"type":"string","description":"The name of the subresource accessed.","example":"auto_verify_finalize_unknown"},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","description":"A numeric code indicating the processing status of this request.\n\n| Value | Description | \n|-------|-------------| \n| 2400 | Pending | \n| 2401 | Success | \n| 2402 | Failure | \n| 2403 | Not Attempted | \n| 2404 | Invalid Phone Number | \n| 2405 | Not Supported | \n| 2407 | CallerID prefix did not match | \n| 2408 | Unsupported phone type | \n| 2409 | Verification call not received |\n| 2410 | Please retry verification |\n| 2411 | Verification call failed |\n| 2429 | Call blocked by customer request | \n| 2430 | Call blocked by Telesign | \n","example":2407},"description":{"type":"string","description":"Text describing the transaction status.","example":"Caller ID prefix did not match"},"updated_on":{"type":"string","description":"An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp indicating when the transaction status was updated.","example":"2025-03-24T21:12:50.289628Z"}}},"resource_uri":{"type":"string","description":"You should disregard this parameter, as it is not currently needed to use the API."}}},"400-av-response":{"title":"400AVResponse","type":"object","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","example":"0123456789ABCDEF0123456789ABCDEF","minLength":32,"maxLength":32},"sub_resource":{"type":"string","description":"The name of the subresource accessed."},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","description":"A numeric code indicating the processing status of this request."},"description":{"type":"string","description":"Text describing the transaction status."},"updated_on":{"type":"string","description":"An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp indicating when the transaction status was updated."}}},"resource_uri":{"type":"string","description":"You should disregard this parameter, as it is not currently needed to use the API."}}},"401-av-response":{"title":"401AVResponse","type":"object","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","minLength":32,"maxLength":32},"sub_resource":{"type":"string","description":"The name of the subresource accessed."},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","description":"A numeric code indicating the processing status of this request.\n"},"description":{"type":"string","description":"Text describing the transaction status."},"updated_on":{"type":"string","description":"An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp indicating when the transaction status was updated."}}},"resource_uri":{"type":"string","description":"You should disregard this parameter, as it is not currently needed to use the API."}}},"404-av-response":{"title":"404AVResponse","type":"object","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","minLength":32,"maxLength":32,"nullable":true},"sub_resource":{"type":"string","description":"The name of the subresource accessed.","nullable":true},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","description":"A numeric code indicating the processing status of this request."},"description":{"type":"string","description":"Text describing the transaction status."},"updated_on":{"type":"string","description":"An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp indicating when the transaction status was updated."}}}}},"405-av-response":{"title":"405AVResponse","type":"object","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","minLength":32,"maxLength":32,"nullable":true},"sub_resource":{"type":"string","description":"The name of the subresource accessed.","nullable":true},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","description":"A numeric code indicating the processing status of this request."},"description":{"type":"string","description":"Text describing the transaction status."},"updated_on":{"type":"string","description":"An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp indicating when the transaction status was updated."}}}}},"429-av-response":{"title":"429AVResponse","type":"object","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","minLength":32,"maxLength":32},"sub_resource":{"type":"string","description":"The name of the subresource accessed."},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","description":"A numeric code indicating the processing status of this request."},"description":{"type":"string","description":"Text describing the transaction status."},"updated_on":{"type":"string","description":"An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp indicating when the transaction status was updated."}}},"resource_uri":{"type":"string","description":"You should disregard this parameter, as it is not currently needed to use the API."}}},"503-av-response":{"title":"503AVResponse","type":"object","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","minLength":32,"maxLength":32,"nullable":true},"sub_resource":{"type":"string","description":"The name of the subresource accessed.","nullable":true},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","description":"A numeric code indicating the processing status of this request."},"description":{"type":"string","description":"Text describing the transaction status."},"updated_on":{"type":"string","description":"An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp indicating when the transaction status was updated."}}}}},"200-av-response":{"type":"object","properties":{"reference_id":{"type":"string","description":"A unique, randomly generated hex value that identifies your web service request.","example":"0123456789ABCDEF0123456789ABCDEF","minLength":32,"maxLength":32},"sub_resource":{"type":"string","description":"The name of the subresource accessed.","example":"auto_verify_finalize_timeout"},"errors":{"type":"array","description":"Contains an object for each error condition that resulted from the request.","items":{"type":"object","properties":{"code":{"type":"integer","description":"A one to five-digit error code (possibly negative) that indicates the type of error that occurred."},"description":{"type":"string","description":"A description of the type of error that occurred."}}}},"status":{"type":"object","description":"Contains details about the request status.","properties":{"code":{"type":"integer","example":2409,"description":"A numeric code indicating the processing status of this request.\n\n| **Value** | **Description**                     |\n|-----------|-------------------------------------|\n| 2400      | Pending                             |\n| 2401      | Success                             |\n| 2402      | Failure                             |\n| 2403      | Not Attempted                       |\n| 2404      | Invalid Phone Number                |\n| 2405      | Not Supported                       |\n| 2407      | CallerID prefix did not match       |\n| 2408      | Unsupported phone type              |\n| 2409      | Verification call not received      |\n| 2410      | Please retry verification           |\n| 2411      | Verification call failed            |\n| 2429      | Call blocked by customer request    |\n| 2430      | Call blocked by Telesign            |"},"description":{"type":"string","description":"Text describing the transaction status.","example":"Verification call not received"},"updated_on":{"type":"string","description":"An [RFC 3339](http://www.ietf.org/rfc/rfc3339.txt) timestamp indicating when the request status was updated. ","example":"2025-03-24T20:06:01.454168Z"}}},"resource_uri":{"type":"string","description":"You should disregard this parameter, as it is not currently needed to use the API."}}}},"securitySchemes":{"Basic":{"type":"http","scheme":"basic","description":"Easiest to implement. See [Basic Authentication](/api-reference/authentication#basic-authentication) for more details."},"Digest":{"name":"Authorization","type":"apiKey","in":"header","description":"See [Digest Authentication](/api-reference/authentication#digest-authentication) for more details."}},"responses":{}},"security":[{"Basic":[]}],"x-readme":{"explorer-enabled":true,"proxy-enabled":true,"samples-enabled":true},"tags":[{"name":"Finalize"},{"name":"Initiate"},{"name":"Transaction Status"}]}