{"swagger":"2.0","info":{"version":"1.0.0","title":"Mission Control","termsOfService":"https://www.telnyx.com/terms-and-conditions/","contact":{"email":"support@telnyx.com"}},"securityDefinitions":{"api_user":{"type":"apiKey","name":"x-api-user","in":"header","description":"User email address or API access key"},"api_token":{"type":"apiKey","name":"x-api-token","in":"header","description":"API Token"},"basicAuth":{"type":"basic"},"bearerAuth":{"type":"apiKey","name":"Authorization","in":"header"}},"tags":[{"name":"Registrations","description":"Registration operations"},{"name":"Connections","description":"Connection operations"},{"name":"IP Authentication for Connections","description":"IP Authentication operations for connections"},{"name":"Call Control Authentication for Connections","description":"Call Control Authentication operations for connections"},{"name":"XML Translator Connection Authentication","description":"XML Call Control Authentication operations for connections"},{"name":"Credential Authentication for Connections","description":"Credential Authentication operations for connections"},{"name":"FQDN Authentication for Connections","description":"FQDN Authentication operations for connections"},{"name":"Number Search","description":"Number Search operations"},{"name":"Supported Countries","description":"Supported Countries operations"},{"name":"Number Order Documents","description":"Number Order Documents operations"},{"name":"Number Ordering","description":"Number Order operations"},{"name":"Phone Numbers","description":"Number operations"},{"name":"Profile","description":"User Profile operations"},{"name":"Outbound Profiles","description":"Outbound Profile operations"},{"name":"Auto-recharge Preferences","description":"Auto Recharge Preference operations"},{"name":"CDR Reports","description":"CDR Report operations"},{"name":"MDR Reports","description":"MDR Report operations"},{"name":"CDR Usage Reports","description":"Usage Report operations"},{"name":"MDR Usage Reports","description":"MDR Usage Report operations"},{"name":"Telco Data Usage Reports","description":"Telco Data Usage Report operations"},{"name":"Authorized IPs","description":"IP operations for Connections"},{"name":"FQDNs","description":"FQDN operations for Connections"},{"name":"E911 Addresses","description":"E911 Address operations"},{"name":"Concurrent Channel Settings","description":"Channel settings operations"},{"name":"Global Outbound Settings","description":"Global outbound settings operations"},{"name":"Number Porting","description":"Number porting operations"},{"name":"Addresses","description":"Address operations"},{"name":"Permissions","description":"Permissions operations"},{"name":"Call Recordings","description":"Call recording operations"},{"name":"Actions","description":"Actions operations"},{"name":"Resource Groups","description":"Resource group operations"},{"name":"Permission Groups","description":"Permission group operations"},{"name":"API Keys","description":"API key operations"},{"name":"Access Tokens","description":"Access token operations"},{"name":"Networks","description":"Network operations"},{"name":"Wireless","description":"Wireless operations"},{"name":"SIM Cards","description":"SIM card operations"},{"name":"SIM Card Groups","description":"SIM card group operations"},{"name":"SIM Card Orders","description":"SIM card order operations"},{"name":"Billing Plans","description":"Billing plan operations"},{"name":"Sites","description":"Site operations"},{"name":"Virtual Cross Connects","description":"Virtual cross connect operations"},{"name":"Call Commands","description":"Call control command operations"},{"name":"Debugging","description":"Call control debugging"},{"name":"Call Information","description":"Call information"},{"name":"Conferences","description":"Conference operations"},{"name":"Conference Commands","description":"Conference command operations"}],"host":"api.telnyx.com","basePath":"/","schemes":["https"],"consumes":["application/json"],"produces":["application/json"],"paths":{"/security/connections":{"get":{"description":"Returns a list of your connections.","summary":"List all connections","operationId":"findConnections","produces":["application/json"],"tags":["Connections"],"parameters":[{"name":"with_ips","in":"query","description":"Specify as true to include authorized IPs along with connections","type":"boolean"},{"name":"with_auth","in":"query","description":"Specify as true to include credential authentication details along with\n             connections. Please note this only affects connections for which the authorization type is\n             credential-based authentication.","type":"boolean"},{"name":"with_fqdns","in":"query","description":"Specify as true to include FQDN / domain details along with\n             connections. Please note this only affects connections for which the authorization type is\n             FQDN-based authentication.","type":"boolean"},{"name":"mode","in":"query","description":"Optional parameter to specify typeahead mode. Doing so limits the amount of\n             details returned but speeds up calls.","type":"string","enum":["typeahead"]},{"name":"order_by","in":"query","description":"Specify an ordering for the results. Optional parameter. If present,\n             must be one of four values: \"created_at\", \"connection_name\", \"auth_type\", or \"active\". Other values are\n             invalid and will result in the call failing. \"created_at\" will order them based on when the connections\n             were created. \"connection_name\" will order results alphabetically by the connection name.\n             \"auth_type\" will order the connections with those having\n             credential-based auth first, followed by those with IP-based auth, and then those with no\n             authentication type set at the end. \"active\" will order them with active/enabled connections first and\n             inactive/disabled connections at the end. If no ordering is specified, \"created_at\" will be used.","type":"string","enum":["created_at","connection_name","auth_type","active"]},{"name":"sort_direction","in":"query","description":"The sort_direction specifies in which way the ordering of the connections is\n            applied. The default for connection_name is from A-Z, for created_at it is newest-first, and for\n            auth_type it is credential, then IP-based, then no auth type. active shows enabled connections first\n            and disabled/inactive connections at the end. You may invert this by specifying\n            \"reverse\" as the sort_direction. This parameter is optional.","type":"string","enum":["reverse"]},{"name":"filter_connection_name","in":"query","description":"Optional filtering parameter. If present, connections with at least a\n             partial match will be returned. Matching is not case-sensitive. Requires at least three\n             characters.","type":"string"},{"name":"filter_ip_address","in":"query","description":"Optional filtering parameter. If present, only connections with one or more\n             matching authorized IP addresses will be returned. No connections where the authorization type\n             is not set or the authorization type is credential-based will be returned if this is set.","type":"string"},{"name":"filter_auth_user_name","in":"query","description":"Optional filtering parameter. If present, only connections of credential-based\n            authentication will be returned, and only those with a user_name that is at least a partial match\n            with the value provided. Requires at least three characters.","type":"string"},{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"Connection response","schema":{"type":"array","items":{"$ref":"#/definitions/ConnectionResponse"}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by improper use of filters or modes."}}},"post":{"description":"Creates a new connection object.","summary":"Create a connection","operationId":"addConnection","produces":["application/json"],"tags":["Connections"],"parameters":[{"name":"connection","in":"body","description":"Connection to add","required":true,"schema":{"$ref":"#/definitions/Connection"}}],"responses":{"200":{"description":"Connection created response","schema":{"$ref":"#/definitions/ConnectionResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}}},"/security/connections/{id}":{"get":{"description":"Retrieves the details of an existing connection.","summary":"Retrieve a connection","operationId":"getConnection","produces":["application/json"],"tags":["Connections"],"parameters":[{"name":"id","in":"path","description":"Connection ID","required":true,"type":"string"}],"responses":{"200":{"description":"success","schema":{"$ref":"#/definitions/ConnectionResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}},"put":{"description":"Updates the specified connection with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","summary":"Update a connection","operationId":"updateConnection","produces":["application/json"],"tags":["Connections"],"parameters":[{"name":"id","in":"path","description":"ID of connection to update","required":true,"type":"string"},{"name":"connection","in":"body","description":"Updated connection object","required":true,"schema":{"$ref":"#/definitions/Connection"}}],"responses":{"200":{"description":"Connection updated response","schema":{"$ref":"#/definitions/ConnectionResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"delete":{"description":"Permanently deletes a connection.","summary":"Delete a connection","operationId":"deleteConnection","produces":["application/json"],"tags":["Connections"],"parameters":[{"name":"id","in":"path","description":"ID of connection to delete","required":true,"type":"string"}],"responses":{"200":{"description":"Connection deleted response","schema":{"$ref":"#/definitions/ConnectionDeleteResponse"}},"404":{"description":"Resource not found"}}}},"/security/connections/{connection_id}/ip_authentication":{"post":{"description":"Set a connection to use IP authentication:\n\n**Note**: authorized IP addresses are not added via this endpoint. Please see the [authorized IP endpoints](/docs/connections/Authorized-IPs) for operations involving adding and removing authorized IPs.\n","summary":"Set a connection to use IP authentication","operationId":"createIpAuthentication","produces":["application/json"],"tags":["IP Authentication for Connections"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the connection which you will set to use this type of authentication","required":true,"type":"string"}],"responses":{"200":{"description":"IP Authentication creation response","schema":{"$ref":"#/definitions/IpAuthenticationResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"}}},"put":{"description":"Updates the IP authentication strategy used for the connection.","summary":"Update IP authentication strategy for a connection","operationId":"updateIpAuthentication","produces":["application/json"],"tags":["IP Authentication for Connections"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the connection whose IP authentication is to be updated","required":true,"type":"string"},{"name":"ip_authentication_strategy","in":"body","description":"IP authentication strategy details","required":true,"schema":{"$ref":"#/definitions/IpAuthenticationDetails"}}],"responses":{"200":{"description":"IP authentication update response","schema":{"$ref":"#/definitions/IpAuthenticationResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"},"422":{"description":"Unprocessable Request"}}}},"/security/connections/{connection_id}/ip_authentication/token_suggestion":{"get":{"description":"Retrieves a suggestion for a token to use with the IP authentication method\n          with a connection.","summary":"Generate a token suggestion","operationId":"tokenSuggestionIpAuthentication","produces":["application/json"],"tags":["IP Authentication for Connections"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the connection to get a token suggestion for","required":true,"type":"string"}],"responses":{"200":{"description":"successful token suggestion response","schema":{"properties":{"token_suggestion":{"type":"string"}}}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"},"422":{"description":"Unprocessable Request"}}}},"/security/connections/{connection_id}/credential_authentication":{"post":{"description":"Sets the authentication method of a connection and associates the credentials                             This will remove any other authentication type set for the connection.","summary":"Set a connection to use credential authentication","operationId":"createCredentialAuthentication","produces":["application/json"],"tags":["Credential Authentication for Connections"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the connection which you will set to use this type of authentication","required":true,"type":"string"},{"name":"credentials","in":"body","description":"Credential details","required":true,"schema":{"$ref":"#/definitions/CredentialAuthenticationDetails"}}],"responses":{"200":{"description":"Credential Authentication creation response","schema":{"$ref":"#/definitions/CredentialAuthenticationResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"}}},"put":{"description":"Updates the connection credentials with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","summary":"Update credentials for a connection","operationId":"updateCredentialAuthentication","produces":["application/json"],"tags":["Credential Authentication for Connections"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the connection whose credentials are to be updated","required":true,"type":"string"},{"name":"credentials","in":"body","description":"Credential details","required":true,"schema":{"$ref":"#/definitions/CredentialAuthenticationDetails"}}],"responses":{"200":{"description":"Credential Authentication update response","schema":{"$ref":"#/definitions/CredentialAuthenticationResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"}}}},"/security/connections/{connection_id}/credential_authentication/suggestion":{"get":{"description":"Retrieve suggestions for user_name and password to use when setting the\n            credentials associated with a connection.","summary":"Retrieve a credential suggestion","operationId":"getCredentialAuthenticationSuggestion","produces":["application/json"],"tags":["Credential Authentication for Connections"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the connection for which a user_name and password will be suggested","required":true,"type":"string"}],"responses":{"200":{"description":"Credential Authentication suggestion response","schema":{"$ref":"#/definitions/CredentialAuthenticationSuggestionResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"}}}},"/security/connections/{connection_id}/fqdn_authentication":{"post":{"description":"Set a connection to use FQDN authentication.\n\n**Note**: domains are not added via this endpoint. Please see the [FQDN endpoints](/docs/connections/FQDNs) for operations involving adding and removing domains.\n\nThe fields `user_name` and `password` are not required for this authentication type, but the connection will be unusable on outbound profiles if they are not set.\n","summary":"Set a connection to use FQDN authentication","operationId":"createFqdnAuthentication","produces":["application/json"],"tags":["FQDN Authentication for Connections"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the connection which you will set to use this type of authentication","required":true,"type":"string"},{"name":"credentials","in":"body","description":"User name and password credential details","schema":{"$ref":"#/definitions/FqdnAuthenticationDetails"}}],"responses":{"200":{"description":"Fqdn Authentication creation response","schema":{"$ref":"#/definitions/FqdnAuthenticationResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"}}},"put":{"description":"Updates the connection credentials with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","summary":"Update credentials for a connection","operationId":"updateFqdnAuthentication","produces":["application/json"],"tags":["FQDN Authentication for Connections"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the connection whose credentials are to be updated","required":true,"type":"string"},{"name":"credentials","in":"body","description":"FQDN Authentication details","schema":{"$ref":"#/definitions/FqdnAuthenticationDetails"}}],"responses":{"200":{"description":"FQDN Authentication update response","schema":{"$ref":"#/definitions/FqdnAuthenticationResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"}}}},"/origination/number_searches":{"post":{"description":"##### Search by NPANXX:\n\n\"nxx\" parameter is optional.\n\n```json\n{\n  \"search_descriptor\": {\n    \"npa\": \"301\",\n    \"nxx\": \"359\"\n  }\n}\n```\n\n##### Search by Region:\n\nSearch by city and state abbreviation.\n\n```json\n{\n  \"search_descriptor\": {\n    \"city\": \"Chicago\",\n    \"state\": \"IL\"\n  }\n}\n```\n\n#### Search by Country:\n\nSpecifying a country and city\n\n```json\n{\n  \"search_descriptor\": {\n    \"city\": \"Paris\",\n    \"country_iso\": \"FR\"\n  }\n}\n```\n\nSpecifying a country and area code\n\n```json\n{\n  \"search_descriptor\": {\n    \"national_destination_code\": \"17037\",\n    \"country_iso\": \"FR\"\n  }\n}\n```\n\n```json\n{\n  \"search_descriptor\": {\n    \"has_all_features\": [\"voice\", \"sms\", \"fax\"],\n    \"national_destination_code\": \"301\",\n    \"country_iso\": \"US\"\n  }\n}\n```\n##### Search by Tollfree prefix:\n\n\"800\", \"888\", etc...\n\n```json\n{\n   \"search_descriptor\":{\n      \"country_iso\":\"US\",\n      \"npa\":\"877\"\n   },\n   \"search_type\":2\n}\n```\n\n##### Search by multiple Tollfree prefixes:\n```json\n{\n    \"search_descriptor\": {\n        \"country_iso\": \"US\",\n        \"national_destination_codes\": [\"800\", \"888\"]\n    },\n    \"search_type\": 2\n}\n``` \n\nSearch Vanity Tollfree numbers with placement start:\n```json\n{\n    \"search_descriptor\": {\n        \"placement\": \"start\",\n        \"vanity_string\": \"TELNYX\", \n        \"national_destination_code\": \"all\", \n        \"trailing_digits\": 2,\n        \"country_iso\": \"US\"\n},\n    \"search_type\": 2\n}\n```\n\n\nSearch Vanity Tollfree numbers with placement any:\n```json\n{\n    \"search_descriptor\": {\n        \"placement\": \"any\",\n        \"vanity_string\": \"TELNYX\", \n        \"national_destination_code\": \"all\", \n        \"trailing_digits\": 2,\n        \"country_iso\": \"US\"\n},\n    \"search_type\": 2\n}\n```\n\nSearch Vanity Tollfree numbers with placement end:\n```json\n{\n    \"search_descriptor\": {\n        \"placement\": \"end\",\n        \"vanity_string\": \"TELNYX\", \n        \"national_destination_code\": \"all\", \n        \"trailing_digits\": 2,\n        \"country_iso\": \"US\"\n},\n    \"search_type\": 2\n}\n``` \n##### Search by advanced parameters:\n\n`*` matches any character; `TELE` matches \"8353\"; `\u0026\u0026` matches \"11\", \"22\", etc...\n\nUse `consecutive` to search for numbers in sequence, such as xxx-xxx-1234, xxx-xxx-1235\n\nAdvanced NPA/NXX exp:\n\n```json\n{\n  \"search_descriptor\": {\n    \"npa\": \"8*\",\n    \"nxx\": \"4\u0026\u0026\",\n    \"fdn\": \"ABC*\",\n    \"consecutive\": 4\n  }\n}\n```\n\nAdvanced REGION exp:\n\n```json\n{\n  \"search_descriptor\": {\n    \"fdn\": \"ABC*\",\n    \"consecutive\": 4,\n    \"city\": \"Chicago\",\n    \"state\": \"IL\"\n  }\n}\n```\n\nAdvanced RATE CENTER exp:\n\n```json\n{\n  \"search_descriptor\": {\n    \"fdn\": \"ABC*\",\n    \"consecutive\": null,\n    \"rc_name\": \"CHICAGO HEIGHTS\",\n    \"state\": \"IL\"\n  }\n}\n```\n\n##### Limiting search results:\n\nTo limit the number of search results, use the `limit` key:\n\n```json\n{\n  \"search_descriptor\": {\n    \"fdn\": \"ABC*\",\n    \"consecutive\": 4,\n    \"city\": \"Chicago\",\n    \"state\": \"IL\"\n  },\n  \"limit\": 50\n}\n```\n\n##### Feature search:\n\n\nTo limit search results to having certain features. For example, you can choose to search for only SMS enabled numbers by limiting `has_all_features` to just `sms`.\n\n```json\n{\n  \"search_type\": 2,\n  \"search_descriptor\": {\n    \"fdn\": \"ABC*\",\n    \"consecutive\": 4,\n    \"city\": \"Chicago\",\n    \"state\": \"IL\",\n    \"has_all_features\": [\"sms\"]\n  },\n  \"limit\": 50\n}\n```\n\n`has_all_features` will return numbers that have BOTH `sms` and `voice`\n\n```json\n{\n  \"search_type\": 2,\n  \"search_descriptor\": {\n    \"fdn\": \"ABC*\",\n    \"consecutive\": 4,\n    \"city\": \"Chicago\",\n    \"state\": \"IL\",\n    \"has_any_features\": [\"sms\", \"voice\"]\n  },\n  \"limit\": 50\n}\n```\n\n`has_any_features` will return numbers that have either `sms` or `voice`\n\nPossible features: `sms`, `mms`, `voice`, `fax`, `emergency`\n\n\n##### Disabling Best Effort Search:\n\nBy default, `best_effort` is enabled on all searches. To omit best effort results, set the `best_effort` key to `false` in your search request:\n\n```json\n{\n  \"search_descriptor\": {\n    \"npa\": \"312\",\n    \"best_effort\": false\n  }\n}\n```\n","summary":"Create a number search","operationId":"addNumberSearch","produces":["application/json"],"tags":["Number Search"],"parameters":[{"name":"number_search","in":"body","description":"Number search to add","required":true,"schema":{"$ref":"#/definitions/NumberSearch"}}],"responses":{"200":{"description":"NumberSearch response","schema":{"$ref":"#/definitions/NumberSearchResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}}},"/origination/number_searches/{id}":{"get":{"description":"Retrieves the details of an existing number search.\nSearches expire 15 minutes after creation. Once expired they can no longer be used to create an order.\n\nSearches may include `best effort` matches in the results. These are numbers that\nare close to your search terms, but may not be exact matches. Best effort\nmatches will come after exact matches in the results and can be easily distinguished by the\nvalue of `best_effort` being true.\n\nThe top-level key `any_best_effort` is also an indicator of whether there are best effort\nmatches present in the results.\"\n","summary":"Retrieve a number search","operationId":"getNumberSearch","produces":["application/json"],"tags":["Number Search"],"parameters":[{"name":"id","in":"path","description":"ID of the number search to retrieve","required":true,"type":"string"}],"responses":{"200":{"description":"number","schema":{"$ref":"#/definitions/NumberSearchResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}}},"/origination/number_orders":{"post":{"description":"Creates a number order. Numbers in the order should have appeared in a number search within the last 24 hours.\n\nYou may send `requested_numbers_with_metadata`, `requested_inexplicit_numbers`, and/or `requested_numbers`.\n\nSend `requested_numbers_with_metadata` when ordering specific numbers seen in recent search results.\nThe metadata that you send is meant to satisfy local requirements associated with numbers purchased.\nIf no local requirements exist, as is the case for US numbers, you can simply omit everything but the numbers themselves.\n\n```json\n{\n  \"requested_numbers_with_metadata\": [\n    { \"number\": \"+13035551111\", \"address_id\": \"1\" },\n    { \"number\": \"+13035551112\", \"address_id\": \"1\" },\n    { \"number\": \"+13035551113\", \"address_id\": \"2\" }\n  ]\n}\n```\n\nSend `requested_inexplicit_numbers` when ordering numbers from inexplicit search results.\nYou'll pass along the inexplicit search results of the numbers you wish to purchase, plus a quantity and,\noptionally, an address_id. The `address_id` is used to satisfy number ownership verification requirements\nin some localities. When provided, it must reference an `address` record on your account.\nThat address will be passed along to the local numbering authorities when required.\n\n```json\n{\n  \"requested_inexplicit_numbers\": [\n    \"quantity\": 100,\n    \"address_id\": \"123\",\n    \"national_destination_code\": \"9\",\n    \"country_iso\": \"FI\",\n    \"region_name\": \"Helsinki\",\n    \"region_type\": \"city\"\n  ]\n}\n```\n\nWe have kept `requested_numbers` available for backward compatibility and greater ease when ordering\nnumbers without additional requirements:\n\n```json\n{\n  \"requested_numbers\": [\"+13035551111\", \"+13035551112\", \"+13035551113\"]\n}\n```\n","summary":"Create a number order","operationId":"addNumberOrder","produces":["application/json"],"tags":["Number Ordering"],"parameters":[{"name":"number_order","in":"body","description":"Number order to add","required":true,"schema":{"$ref":"#/definitions/NumberOrderCreate"}}],"responses":{"200":{"description":"NumberOrder response","schema":{"required":["id"],"properties":{"id":{"type":"string"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}}},"/origination/number_orders/{order_request_id}":{"get":{"summary":"Retrieve a number order","description":"Retrieves the details of an existing number order.","operationId":"getNumberOrder","produces":["application/json"],"tags":["Number Ordering"],"parameters":[{"name":"order_request_id","in":"path","description":"Order request id","required":true,"type":"string"}],"responses":{"200":{"description":"Number Order Response","schema":{"$ref":"#/definitions/NumberOrder"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}}},"/origination/numbers":{"get":{"description":"Returns a list of your numbers. Append `.csv` to the request URL\n            to retrieve results in CSV format.","summary":"List all numbers","operationId":"findNumbers","produces":["application/json"],"tags":["Phone Numbers"],"parameters":[{"name":"filter_tag","in":"query","description":"Optional filtering parameter. If present, only numbers that have been tagged\n            　with the string given will be returned. Returns exact matches only.","type":"string"},{"name":"filter_number_val","in":"query","description":"Optional filtering parameter. If present, only numbers that at least partially\n             match the value given in their number will be returned. Requires at least three digits.\n             Non-numerical characters should not be present in the filter and will result in no values being\n             returned.","type":"string"},{"name":"filter_status","in":"query","description":"Optional filtering parameter. If present, only numbers that have the same status\n             as specified will be returned.","type":"integer","enum":[1,2,3,4,5]},{"name":"filter_emergency_status","in":"query","description":"Optional filtering parameter. If present, only numbers that have the same emergency_status\n             as specified will be returned.","type":"string","enum":["disabled","active","provisioning","deprovisioning"]},{"name":"filter_connection_name","in":"query","description":"Optional filtering parameter. If present, only numbers that have a connection\n             that at least partially matches the string given will be returned. Matching is not\n             case-sensitive. Requires at least three characters. Numbers without a connection will not\n             be returned.","type":"string"},{"name":"filter_usage_payment_method","in":"query","description":"Optional filtering parameter. If present, only numbers that have the\n             usage_payment_method that at matches the string given will be returned. Matching is\n             case-sensitive and only specified values are allowed.","type":"string","enum":["pay-per-minute","channel"]},{"name":"filter_billing_group_id","in":"query","description":"Optional filtering parameter. If present, only numbers with a\n             billing_group_id matching the string given will be returned. To search for only\n             numbers that do not have a billing_group_id, specify the literal value \"null\".","type":"string"},{"name":"order_by","in":"query","description":"Specify an ordering for the results. Optional parameter. If present,\n              must be of a set number of values: \"order_date\", \"phone_number\", \"connection\", or\n              \"usage_payment_method\". Other values are invalid and will result in the call failing.\n              \"order_date\" will order numbers with the most recent\n              purchases first, then older ones at the end. \"phone_number\" will sort by the phone number values.\n              \"connection\" will order by the connection name with numbers not having a connection\n              assigned yet at the end. \"usage_payment_method\" will put numbers with \"pay-per-minute\" first.","type":"string","enum":["order_date","phone_number","connection","usage_payment_method"]},{"name":"sort_direction","in":"query","description":"The sort_direction specifies in which way the ordering of the connections is\n              applied. If not present, ordering will be performed as described under the `order_by` parameter.\n              You may invert this ordering by specifying \"reverse\" as the sort_direction. This parameter\n              is optional.","type":"string","enum":["reverse"]},{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"Number response","schema":{"type":"array","items":{"$ref":"#/definitions/NumberResponse"}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by invalid values for ordering or filtering.\n             Check message field in response for details."}}}},"/origination/numbers/{id}":{"get":{"description":"Retrieve the details of a number. The ID in the path can either be the telephone number (e.g. +12124567890) or object ID.","summary":"Retrieve a number","operationId":"getNumber","produces":["application/json"],"tags":["Phone Numbers"],"parameters":[{"name":"id","in":"path","description":"Telephone number (ex: +12124567890) or object ID of number to update","required":true,"type":"string"}],"responses":{"200":{"description":"Number updated","schema":{"$ref":"#/definitions/NumberResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}},"put":{"description":"Updates the specified number with the values of the parameters passed. Any parameters not included in the request will be left unchanged. The ID in the path can either be the telephone number (e.g. +12124567890) or object ID.","summary":"Update a number","operationId":"updateNumber","produces":["application/json"],"tags":["Phone Numbers"],"parameters":[{"name":"id","in":"path","description":"Telephone number (ex: +12124567890) or object ID of number to update","required":true,"type":"string"},{"name":"number","in":"body","description":"Updated number object","required":true,"schema":{"$ref":"#/definitions/Number"}}],"responses":{"200":{"description":"Number updated","schema":{"$ref":"#/definitions/NumberResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}},"delete":{"description":"Permanently deletes a number. The ID in the path can either be the telephone number (e.g. +12124567890) or object ID.","summary":"Delete a number","operationId":"deleteNumber","produces":["application/json"],"tags":["Phone Numbers"],"parameters":[{"name":"id","in":"path","description":"Telephone number (ex: +12124567890) or object ID of number to delete","required":true,"type":"string"}],"responses":{"200":{"description":"Number deleted","schema":{"$ref":"#/definitions/NumberResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}}},"/origination/bulk_number_update_requests":{"post":{"description":"Update multiple numbers at once with `POST/origination/bulk_number_update_requests/`.\n\nEach number's status must be Active (4) or Port Pending (3).\n\nCheck the status of your bulk request and the error_messages property with `GET/origination/bulk_number_update_requests/{id}`.\nNote that only the properties you specified are returned in the GET.\n\nNew bulk requests are created in Pending status (1).\nThey move to Complete status (2) after a period of time that varies with the\nsize of the request. If for some reason they can't be processed within 15\nminutes then they are moved to Expired status (3).\n\nPLEASE NOTE: Any changes made to a number while a bulk request is pending can and will be overwritten when the bulk request\nis processed.\n\nAdditional note: All parameters are optional except for: `ids_or_number_values`. If you want to nullify a property\nthen you should send an empty value for it. If you want to leave a property unmodified then you should leave its\nkey out of the request.\n","summary":"Create a bulk number update request","operationId":"createBulkNumberUpdateRequest","produces":["application/json"],"tags":["Phone Numbers"],"parameters":[{"name":"bulk_number_update_request","in":"body","description":"Bulk number update request","required":true,"schema":{"$ref":"#/definitions/BulkNumberUpdateRequest"}}],"responses":{"200":{"description":"Bulk Number Update Request","schema":{"$ref":"#/definitions/BulkNumberUpdatePostResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by invalid values.\n             Check message field in response for details."}}}},"/origination/bulk_number_update_requests/{id}":{"get":{"description":"Update multiple numbers at once with `POST/origination/bulk_number_update_requests/`.\n\nEach number's status must be Active (4) or Port Pending (3).\n\nCheck the status of your bulk request and the error_messages property with `GET/origination/bulk_number_update_requests/{id}`.\nNote that only the properties you specified are returned in the GET.\n\nNew bulk requests are created in Pending status (1).\nThey move to Complete status (2) after a period of time that varies with the\nsize of the request. If for some reason they can't be processed within 15\nminutes then they are moved to Expired status (3).\n\nPLEASE NOTE: Any changes made to a number while a bulk request is pending can and will be overwritten when the bulk request\nis processed.\n\nAdditional note: All parameters are optional except for: `ids_or_number_values`. If you want to nullify a property\nthen you should send an empty value for it. If you want to leave a property unmodified then you should leave its\nkey out of the request.\n","summary":"Retrieve a bulk number update request","operationId":"getBulkNumberUpdateRequest","produces":["application/json"],"tags":["Phone Numbers"],"parameters":[{"name":"id","in":"path","description":"ID of the bulk update request","required":true,"type":"string"}],"responses":{"200":{"description":"Bulk Number Update Request","schema":{"$ref":"#/definitions/BulkNumberUpdateRequest"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Unprocessable entity. Can be caused by invalid values.\n             Check message field in response for details."}}}},"/origination/number_csv_download_requests":{"post":{"description":"Create a request to download all of your numbers in a CSV file","summary":"Create a request to download all of your numbers in a CSV file","operationId":"createNumberCsvDownloadRequest","produces":["application/json"],"tags":["Phone Numbers"],"responses":{"200":{"description":"Created response","schema":{"$ref":"#/definitions/NumberCsvDownloadRequestResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"get":{"description":"Retrieve all of your number CSV download requests","summary":"Retrieve all of your number CSV download request","operationId":"getNumberCsvDownloadRequests","produces":["application/json"],"tags":["Phone Numbers"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"Success","schema":{"type":"array","items":{"$ref":"#/definitions/NumberCsvDownloadRequestResponse"}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Unprocessable entity. Can be caused by invalid values.\n              Check message field in response for details."}}}},"/origination/number_csv_download_requests/{id}":{"get":{"description":"Retrieve a number CSV download request","summary":"Retrieve a number CSV download request","operationId":"getNumberCsvDownloadRequest","produces":["application/json"],"tags":["Phone Numbers"],"parameters":[{"name":"id","in":"path","description":"ID of the CSV download request","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/NumberCsvDownloadRequestResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Unprocessable entity. Can be caused by invalid values.\n              Check message field in response for details."}}}},"/origination/numbers/{id}/e911_settings":{"put":{"description":"Enables E911 on a number. The ID supplied can be the telephone number (e.g. +12124567890) or object ID.","summary":"Enable E911 on a number","operationId":"updateNumberE911","produces":["application/json"],"tags":["Phone Numbers"],"parameters":[{"name":"id","in":"path","description":"Telephone number (ex: +12124567890) or object ID of number to update","required":true,"type":"string"},{"name":"number","in":"body","description":"Number E911 object","required":true,"schema":{"$ref":"#/definitions/NumberE911Enable"}}],"responses":{"200":{"description":"Number E911 enable","schema":{"$ref":"#/definitions/NumberResponse"}},"202":{"description":"Number Emergency Requested","schema":{"$ref":"#/definitions/NumberResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}}},"/origination/supported_countries":{"get":{"description":"Retrieves a list of countries where Telnyx has numbers available for purchase.\n                                          Number availability in these countries is subject to current inventory.","summary":"Retrieve list of supported countries","operationId":"getSupportedCountries","produces":["application/json"],"tags":["Supported Countries"],"responses":{"200":{"description":"supported countries","schema":{"type":"array","items":{"$ref":"#/definitions/SupportedCountriesResponse"}}}}}},"/number_order_documents":{"get":{"summary":"Retrieve uploaded documents.","description":"Retrieves list of all uploaded documents in user's account.","operationId":"getUploadedDocuments","produces":["application/json"],"tags":["Number Order Documents"],"responses":{"200":{"description":"Number Order Documents Response","schema":{"$ref":"#/definitions/NumberOrderDocumentsResponse"}},"401":{"description":"Unauthorized"},"500":{"description":"Internal server error"}}}},"/number_order_documents/{document_type}":{"post":{"summary":"Upload number order document","description":"Uploads a document requirement for an ordered number.","operationId":"postNumberOrderDocument","produces":["application/json"],"consumes":["multipart/form-data"],"tags":["Number Order Documents"],"parameters":[{"name":"document_type","in":"path","description":"Document type (identification, reg_form, address_proof)","required":true,"type":"string"},{"name":"file","in":"formData","type":"file","description":"File to upload"}],"responses":{"200":{"description":"Number Order Document Upload Response","schema":{"$ref":"#/definitions/NumberOrderDocumentsResponse"}},"401":{"description":"Unauthorized"},"500":{"description":"Internal server error"}}}},"/termination/endpoints":{"get":{"description":"Returns a list of your outbound profiles.","summary":"List all outbound profiles","operationId":"findEndpoints","produces":["application/json"],"tags":["Outbound Profiles"],"parameters":[{"name":"whitelisted_destination_format","in":"query","type":"string","enum":["alpha2","alpha3","iso_numeric"],"default":"alpha3","description":"Format of your whitelisted destinations."},{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000},{"name":"filter[name]","in":"query","description":"Optional filter on outbound profile name","required":false,"type":"string"},{"name":"sort","in":"query","type":"string","required":false,"description":"Available sort parameters are active, created_at, name, service_plan, traffic_type, and usage_payment_method. You may sort on any combination of these. Prepend a field name with a `-` to sort on that field in descending order."}],"responses":{"200":{"description":"Outbound Profile response","schema":{"type":"array","items":{"$ref":"#/definitions/EndpointResponse"}}},"401":{"description":"Unauthorized"}}},"post":{"description":"Creates a new outbound profile object.","summary":"Create an outbound profile","operationId":"addEndpoint","produces":["application/json"],"tags":["Outbound Profiles"],"parameters":[{"name":"endpoint","in":"body","description":"Outbound Profile to add","required":true,"schema":{"$ref":"#/definitions/Endpoint"}}],"responses":{"200":{"description":"Outbound Profile created response","schema":{"$ref":"#/definitions/EndpointResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}}},"/termination/endpoints/{id}":{"get":{"description":"Retrieves the details of an existing outbound profile.","summary":"Retrieve an outbound profile","operationId":"getEndpoint","produces":["application/json"],"tags":["Outbound Profiles"],"parameters":[{"name":"id","in":"path","description":"ID of Outbound Profile to retrieve","required":true,"type":"string"},{"name":"whitelisted_destination_format","in":"query","type":"string","enum":["alpha2","alpha3","iso_numeric"],"default":"alpha3","description":"Format of your whitelisted destinations."}],"responses":{"200":{"description":"Outbound Profile record response","schema":{"$ref":"#/definitions/EndpointResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}},"put":{"description":"Updates the specified outbound profile with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","summary":"Update an outbound profile","operationId":"updateEndpoint","produces":["application/json"],"tags":["Outbound Profiles"],"parameters":[{"name":"id","in":"path","description":"ID of Outbound Profile to update","required":true,"type":"string"},{"name":"outbound_profile","in":"body","description":"Updated Outbound Profile object","required":true,"schema":{"$ref":"#/definitions/Endpoint"}}],"responses":{"200":{"description":"Outbound Profile updated response","schema":{"$ref":"#/definitions/EndpointResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"delete":{"description":"Permanently deletes an outbound profile.","summary":"Delete an outbound profile","operationId":"deleteEndpoint","produces":["application/json"],"tags":["Outbound Profiles"],"parameters":[{"name":"id","in":"path","description":"ID of Outbound Profile to delete","required":true,"type":"string"}],"responses":{"200":{"description":"Outbound Profile deleted response","schema":{"$ref":"#/definitions/EndpointDeleteResponse"}},"404":{"description":"Resource not found"}}}},"/termination/endpoints/{id}/actions/attach_connections":{"put":{"description":"Attaches the specified connections to an outbound profile if they are not already attached. Note that this endpoint never removes connections already attached.","summary":"Attach connections to an outbound profile","operationId":"attachConnections","produces":["application/json"],"tags":["Outbound Profiles"],"parameters":[{"name":"id","in":"path","description":"ID of outbound profile to update","required":true,"type":"string"},{"name":"connection_ids","in":"body","description":"IDs of connections to attach to the outbound profile","required":true,"schema":{"$ref":"#/definitions/EndpointConnectionIds"}}],"responses":{"200":{"description":"Outbound Profile updated response","schema":{"$ref":"#/definitions/EndpointResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}}},"/reporting/cdr_requests":{"post":{"description":"Check the status and retrieve a CDR with a call to: `GET/reporting/cdr_requests/{id}`\n\n  * CDRs are available for 30 days\n  * The `filters` field specifies a list of query criteria as follows:\n\n  ```\n  'filters': [\n     {\n       'filter_type': enum('and', 'or'),\n       'cli': string,\n       'cli_filter': enum('contains', 'starts_with', 'ends_with')\n     },\n     {\n       'filter_type': enum('and', 'or'),\n       'cld': string,\n       'cld_filter': enum('contains', 'starts_with', 'ends_with'),\n     },\n     {\n       'filter_type': enum('and', 'or'),\n       'tags_list': list of tag strings\n     }\n   ]\n  ```\n\nNote: The first object in the filter list must specify a filter_type of `and`. You can not follow an\n`or` with another `and`. Other than that, you can specify as many filters as you like in any order.\n","summary":"Create a CDR request","operationId":"addCdrRequest","tags":["CDR Reports"],"parameters":[{"name":"cdr_request","in":"body","description":"CDR Request to add","required":true,"schema":{"$ref":"#/definitions/CdrRequest"}}],"responses":{"200":{"description":"CDR Request response","schema":{"$ref":"#/definitions/CdrRequestResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"get":{"description":"Returns a list of your CDR requests.","summary":"List all CDR requests","operationId":"findCdrRequests","tags":["CDR Reports"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"Cdr Request response","schema":{"type":"array","items":{"$ref":"#/definitions/CdrRequestResponse"}}},"401":{"description":"Unauthorized"}}}},"/reporting/cdr_requests/{id}":{"get":{"description":"Retrieves the status of a CDR request. Response includes a link to the report once it is generated.","summary":"Retrieve CDR request status","operationId":"getCdrRequest","tags":["CDR Reports"],"parameters":[{"name":"id","in":"path","description":"ID of CDR Request to retrieve","required":true,"type":"string"}],"responses":{"200":{"description":"cdr_request","schema":{"$ref":"#/definitions/CdrRequestResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}},"delete":{"description":"Permanently deletes a CDR Request.","summary":"Delete a CDR Request","operationId":"deleteCdrRequest","tags":["CDR Reports"],"parameters":[{"name":"id","in":"path","description":"ID of CDR Request to delete","required":true,"type":"string"}],"responses":{"200":{"description":"CDR Request delete response","schema":{"$ref":"#/definitions/CdrRequestDeleteResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}}},"/reporting/mdr_requests":{"post":{"description":"Check the status and retrieve a MDR with a call to: `GET/reporting/mdr_requests/{id}`\n\n  * MDRs are available for 30 days\n  * The 'filters' field specifies a list of query criteria as follows:\n\n  ```\n  'filters': [\n     {\n       'filter_type': enum('and', 'or'),\n       'cli': string,\n       'cli_filter': enum('contains', 'starts_with', 'ends_with')\n     },\n     {\n       'filter_type': enum('and', 'or'),\n       'cld': string,\n       'cld_filter': enum('contains', 'starts_with', 'ends_with'),\n     },\n     {\n       'filter_type': enum('and', 'or'),\n       'tags_list': list of tag strings\n     }\n   ]\n   ```\n\nNote: The first object in the filter list must specify a filter_type of `and`. You can not follow an\n`or` with another `and`. Other than that, you can specify as many filters as you like in any order.\n","summary":"Create an MDR request","operationId":"addMdrRequest","tags":["MDR Reports"],"parameters":[{"name":"mdr_request","in":"body","description":"MDR Request to add","required":true,"schema":{"$ref":"#/definitions/MdrRequest"}}],"responses":{"200":{"description":"MDR Request response","schema":{"$ref":"#/definitions/MdrRequestResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"get":{"description":"Returns a list of your MDR requests.","summary":"List all MDR requests","operationId":"findMdrRequests","tags":["MDR Reports"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"Mdr Request response","schema":{"type":"array","items":{"$ref":"#/definitions/MdrRequestResponse"}}},"401":{"description":"Unauthorized"}}}},"/reporting/mdr_requests/{id}":{"get":{"description":"Retrieve the status of an MDR request. Response includes a link to the report once it is generated.","summary":"Retrieve MDR request status","operationId":"getMdrRequest","tags":["MDR Reports"],"parameters":[{"name":"id","in":"path","description":"ID of MDR Request to retrieve","required":true,"type":"string"}],"responses":{"200":{"description":"mdr_request","schema":{"$ref":"#/definitions/MdrRequestResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}},"delete":{"description":"Permanently deletes an MDR Request.","summary":"Delete an MDR Request","operationId":"deleteMdrRequest","tags":["MDR Reports"],"parameters":[{"name":"id","in":"path","description":"ID of MDR Request to delete","required":true,"type":"string"}],"responses":{"200":{"description":"MDR Request delete response","schema":{"$ref":"#/definitions/MdrRequestDeleteResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}}},"/reporting/usage_reports":{"post":{"description":"Check the status and retrieve a Usage Report with a call to: `GET/reporting/usage_reports/{id}`\n\n* Usage Reports are available for 30 days\n","summary":"Create a usage report","operationId":"addUsageReport","tags":["CDR Usage Reports"],"parameters":[{"name":"usage_report","in":"body","description":"Usage Report to add","required":true,"schema":{"$ref":"#/definitions/UsageReport"}}],"responses":{"200":{"description":"UsageReport response","schema":{"$ref":"#/definitions/UsageReportResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"get":{"description":"Returns a list of your usage reports.","summary":"List all usage reports","operationId":"findUsageReports","tags":["CDR Usage Reports"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"Usage Report response","schema":{"type":"array","items":{"$ref":"#/definitions/UsageReportResponse"}}},"401":{"description":"Unauthorized"}}}},"/reporting/usage_reports/{id}":{"get":{"description":"Retrieve the status of a usage report. Response includes a link to the report once it is generated.","summary":"Retrieve usage report status","operationId":"getUsageReport","tags":["CDR Usage Reports"],"parameters":[{"name":"id","in":"path","description":"ID of Usage Report to retrieve","required":true,"type":"string"}],"responses":{"200":{"description":"usage_report","schema":{"$ref":"#/definitions/UsageReportResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}},"delete":{"description":"Permanently deletes a usage report.","summary":"Delete a usage report","operationId":"deleteUsageReport","tags":["CDR Usage Reports"],"parameters":[{"name":"id","in":"path","description":"ID of Usage Report to delete","required":true,"type":"string"}],"responses":{"200":{"description":"Usage Report delete response","schema":{"$ref":"#/definitions/UsageReportDeleteResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}}},"/reporting/mdr_usage_reports":{"post":{"description":"Check the status and retrieve a MDR Usage Report with a call to\n`GET /reporting/mdr_usage_reports/{id}`. MDR Usage Reports are available for 30 days.\n","summary":"Create an MDR usage report","operationId":"addMdrUsageReport","tags":["MDR Usage Reports"],"parameters":[{"name":"mdr_usage_report","in":"body","description":"Mdr Usage Report to add","required":true,"schema":{"$ref":"#/definitions/MdrUsageReport"}}],"responses":{"200":{"description":"MdrUsageReport response","schema":{"$ref":"#/definitions/MdrUsageReportResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"get":{"description":"Returns a list of your MDR usage reports.","summary":"List all MDR usage reports","operationId":"findMdrUsageReports","tags":["MDR Usage Reports"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"Mdr Usage Report response","schema":{"type":"array","items":{"$ref":"#/definitions/MdrUsageReportResponse"}}},"401":{"description":"Unauthorized"}}}},"/reporting/mdr_usage_reports/{id}":{"get":{"description":"Retrieve the status of an MDR usage report. Response includes a link to the report once it is generated.","summary":"Retrieve MDR usage report status","operationId":"getMdrUsageReport","tags":["MDR Usage Reports"],"parameters":[{"name":"id","in":"path","description":"ID of MDR Usage Report to retrieve","required":true,"type":"string"}],"responses":{"200":{"description":"mdr_usage_report","schema":{"$ref":"#/definitions/MdrUsageReportResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}},"delete":{"description":"Permanently delete an MDR usage report.","summary":"Delete an MDR usage report","operationId":"deleteMdrUsageReport","tags":["MDR Usage Reports"],"parameters":[{"name":"id","in":"path","description":"ID of MDR Usage Report to delete","required":true,"type":"string"}],"responses":{"200":{"description":"MDR Usage Report delete response","schema":{"$ref":"#/definitions/MdrUsageReportDeleteResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}}},"/reporting/telco_data_usage_reports":{"post":{"description":"Check the status and retrieve a Telco Data Usage Report with a call to: `GET /reporting/telco_data_usage_reports/{id}`\n\n* Telco Data Usage Reports are available for 30 days\n","summary":"Create a Telco Data usage report","operationId":"submitTelcoDataUsageReport","tags":["Telco Data Usage Reports"],"parameters":[{"name":"telco_data_usage_report_request","in":"body","description":"Parameters required to request a Telco Data usage report","required":true,"schema":{"$ref":"#/definitions/TelcoDataUsageReportRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/TelcoDataUsageReportResponse"}},"400":{"description":"Bad request","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"422":{"description":"Invalid parameters supplied in request","schema":{"$ref":"#/definitions/TelcoDataUsageError"}}}},"get":{"description":"Returns a list of your Telco Data usage reports.","summary":"List all Telco Data usage reports","operationId":"getTelcoDataUsageReports","tags":["Telco Data Usage Reports"],"parameters":[{"name":"page","in":"query","description":"Index of the page to query","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of reports per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"Successful response","schema":{"items":{"$ref":"#/definitions/TelcoDataListReportsResponse"}}},"400":{"description":"Bad request","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"422":{"description":"Invalid parameters supplied in request","schema":{"$ref":"#/definitions/TelcoDataUsageError"}}}}},"/reporting/telco_data_usage_reports/{id}":{"get":{"description":"Retrieve the status of a given Telco Data usage report.","summary":"Retrieve Telco Data usage report status","operationId":"getTelcoDataUsageReport","tags":["Telco Data Usage Reports"],"parameters":[{"name":"id","in":"path","description":"ID of the Telco Data usage report","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/TelcoDataUsageReportResponse"}},"400":{"description":"Bad request","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"422":{"description":"Invalid parameters supplied in request","schema":{"$ref":"#/definitions/TelcoDataUsageError"}}}},"delete":{"description":"Permanently deletes a Telco Data usage report.","summary":"Delete a Telco Data usage report","operationId":"deleteTelcoDataUsageReport","tags":["Telco Data Usage Reports"],"parameters":[{"name":"id","in":"path","description":"ID of the Telco Data usage report to delete","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/TelcoDataUsageReportResponse"}},"400":{"description":"Bad request","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/TelcoDataUsageError"}},"422":{"description":"Invalid parameters supplied in request","schema":{"$ref":"#/definitions/TelcoDataUsageError"}}}}},"/security/authorized_ips":{"post":{"description":"Creates a new authorized IP object.","summary":"Create an authorized IP","operationId":"addAuthorizedIp","produces":["application/json"],"tags":["Authorized IPs"],"parameters":[{"name":"authorized_ip","in":"body","description":"Authorized IP to add","required":true,"schema":{"$ref":"#/definitions/AuthorizedIp"}}],"responses":{"200":{"description":"Authorized IP created response","schema":{"$ref":"#/definitions/AuthorizedIpResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"get":{"description":"Returns a list of your authorized IPs.","summary":"Retrieve all authorized IPs","operationId":"findAuthorizedIps","produces":["application/json"],"tags":["Authorized IPs"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"Authorized IP response","schema":{"type":"array","items":{"$ref":"#/definitions/AuthorizedIpResponse"}}},"401":{"description":"Unauthorized"}}}},"/security/authorized_ips/{id}":{"put":{"description":"Updates the specified authorized IP with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","summary":"Update an authorized IP","operationId":"updateAuthorizedIp","produces":["application/json"],"tags":["Authorized IPs"],"parameters":[{"name":"id","in":"path","description":"ID of Authorized IP to update","required":true,"type":"string"},{"name":"authorized_ip","in":"body","description":"Updated Authorized IP object","required":true,"schema":{"$ref":"#/definitions/AuthorizedIp"}}],"responses":{"200":{"description":"Authorized IP updated response","schema":{"$ref":"#/definitions/AuthorizedIpResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"delete":{"description":"Permanently deletes an authorized IP.","summary":"Delete an authorized IP","operationId":"deleteAuthorizedIp","produces":["application/json"],"tags":["Authorized IPs"],"parameters":[{"name":"id","in":"path","description":"ID of Authorized IP to delete","required":true,"type":"string"}],"responses":{"200":{"description":"Authorized IP deleted response","schema":{"$ref":"#/definitions/AuthorizedIpResponse"}},"404":{"description":"Resource not found"}}}},"/payment/auto_recharge_pref":{"get":{"description":"Retrieves the details of an existing AutoRechargePreference","summary":"Retrieve AutoRechargePreference","operationId":"getAutoRechargePref","produces":["application/json"],"tags":["Auto-recharge Preferences"],"responses":{"200":{"description":"AutoRechargePreference response","schema":{"$ref":"#/definitions/AutoRechargePrefResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"put":{"description":"Updates AutoRechargePreference with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","summary":"Update a AutoRechargePreference","operationId":"updateAutoRechargePref","produces":["application/json"],"tags":["Auto-recharge Preferences"],"parameters":[{"name":"auto_recharge_pref","in":"body","description":"Updated AutoRechargePreference object","required":true,"schema":{"$ref":"#/definitions/AutoRechargePrefRequest"}}],"responses":{"200":{"description":"AutoRechargePreference updated response","schema":{"$ref":"#/definitions/AutoRechargePrefResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}}},"/origination/e911_addresses":{"get":{"description":"Returns a list of your E911 addresses.","summary":"List all E911 addresses","operationId":"findE911Addresses","produces":["application/json"],"tags":["E911 Addresses"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"E911 Addresses response","schema":{"type":"array","items":{"$ref":"#/definitions/E911AddressGetResponse"}}},"401":{"description":"Unauthorized"}}},"post":{"description":"IMPORTANT: In order to use E911 services, Terms of Service must first be accepted through\nthe Telnyx portal.\n\nCreating an E911 Address requires the address fields to exactly match E911 Service records.\nAll capital letters, and no punctuation is generally sufficient. For example, '123 Main St.' would\nbe entered as '123 MAIN ST' in order to be valid. If there is not an exact match, a normalized\naddress will be returned for your confirmation, and the status field will indicate so.\n\nIf the address submitted is invalid, then the endpoint will return an error and a corrected address. The endpoint must be called again with the corrected address.\n\nNOTE: Enabling E911 for a number is done via `PUT/origination/numbers/{id}/e911_settings`\n","summary":"Create an E911 address","operationId":"addE911Address","produces":["application/json"],"tags":["E911 Addresses"],"parameters":[{"name":"e911_address","in":"body","description":"E911 Address to add","required":true,"schema":{"$ref":"#/definitions/E911Address"}}],"responses":{"200":{"description":"E911 Address created response","schema":{"$ref":"#/definitions/E911AddressResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}}},"/origination/e911_addresses/{id}":{"get":{"description":"Retrieves the details of an existing E911 address.","summary":"Retrieve an E911 address","operationId":"getE911Address","produces":["application/json"],"tags":["E911 Addresses"],"parameters":[{"name":"id","in":"path","description":"ID of E911 Address to retrieve","required":true,"type":"string"}],"responses":{"200":{"description":"E911 Address record response","schema":{"$ref":"#/definitions/E911AddressGetResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}},"delete":{"description":"Permanently deletes an E911 address.","summary":"Delete an E911 address","operationId":"deleteE911Address","produces":["application/json"],"tags":["E911 Addresses"],"parameters":[{"name":"id","in":"path","description":"ID of E911 Address to delete","required":true,"type":"string"}],"responses":{"200":{"description":"E911 Address deleted response","schema":{"$ref":"#/definitions/E911AddressDeleteResponse"}},"404":{"description":"Resource not found"}}}},"/origination/channel_settings":{"get":{"description":"Retrieve the details of your concurrent channel settings.","summary":"Retrieve concurrent channel settings","operationId":"getChannelSettings","produces":["application/json"],"tags":["Concurrent Channel Settings"],"responses":{"200":{"description":"Channel settings response","schema":{"$ref":"#/definitions/ChannelSettingsResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"},"422":{"description":"Unprocessable request"}}},"put":{"description":"Updates the concurrent channel settings with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","summary":"Update concurrent channel settings","operationId":"updateChannelSettings","produces":["application/json"],"tags":["Concurrent Channel Settings"],"parameters":[{"name":"channel_settings","in":"body","description":"Updated concurrent channel settings object","required":true,"schema":{"$ref":"#/definitions/ChannelSettingsUpdate"}}],"responses":{"200":{"description":"Channel settings update response","schema":{"$ref":"#/definitions/ChannelSettingsResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"},"422":{"description":"Unprocessable request"}}}},"/security/fqdns":{"post":{"description":"Creates a new FQDN object.","summary":"Create an FQDN","operationId":"addFqdn","produces":["application/json"],"tags":["FQDNs"],"parameters":[{"name":"fqdn","in":"body","description":"FQDN to add","required":true,"schema":{"$ref":"#/definitions/Fqdn"}}],"responses":{"200":{"description":"FQDN created response","schema":{"$ref":"#/definitions/FqdnResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"get":{"description":"Returns a list of your FQDNs.","summary":"List all FQDNs","operationId":"findFqdns","produces":["application/json"],"tags":["FQDNs"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000}],"responses":{"200":{"description":"FQDN response","schema":{"type":"array","items":{"$ref":"#/definitions/FqdnResponse"}}},"401":{"description":"Unauthorized"}}}},"/security/fqdns/{id}":{"put":{"description":"Updates the specified FQDN with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","summary":"Update an FQDN","operationId":"updateFqdn","produces":["application/json"],"tags":["FQDNs"],"parameters":[{"name":"id","in":"path","description":"ID of FQDN to update","required":true,"type":"string"},{"name":"fqdn","in":"body","description":"Updated FQDN object","required":true,"schema":{"$ref":"#/definitions/Fqdn"}}],"responses":{"200":{"description":"FQDN updated response","schema":{"$ref":"#/definitions/FqdnResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}},"delete":{"description":"Permanently deletes an FQDN.","summary":"Delete an FQDN","operationId":"deleteFqdn","produces":["application/json"],"tags":["FQDNs"],"parameters":[{"name":"id","in":"path","description":"ID of FQDN to delete","required":true,"type":"string"}],"responses":{"200":{"description":"FQDN deleted response","schema":{"$ref":"#/definitions/FqdnResponse"}},"404":{"description":"Resource not found"}}}},"/account/addresses":{"get":{"description":"Returns a list of your addresses.","summary":"List all addresses","operationId":"getAddresses","produces":["application/json"],"tags":["Addresses"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":100,"maximum":1000},{"name":"include_non_address_book","in":"query","description":"Whether to include addresses not listed in your address book","type":"boolean","default":false}],"responses":{"200":{"description":"Addresses response","schema":{"type":"array","items":{"$ref":"#/definitions/AddressResponse"}}},"401":{"description":"Unauthorized"}}},"post":{"description":"Creates a new address object.","summary":"Create an address","operationId":"addAddress","produces":["application/json"],"tags":["Addresses"],"parameters":[{"name":"address","in":"body","description":"Address to add","required":true,"schema":{"$ref":"#/definitions/Address"}}],"responses":{"200":{"description":"Address created response","schema":{"$ref":"#/definitions/AddressResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}}}},"/account/addresses/{id}":{"get":{"description":"Retrieves the details of an existing address.","summary":"Retrieve an address","operationId":"getAddress","produces":["application/json"],"tags":["Addresses"],"parameters":[{"name":"id","in":"path","description":"ID of Address to retrieve","required":true,"type":"string"}],"responses":{"200":{"description":"Address record response","schema":{"$ref":"#/definitions/AddressResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}}},"delete":{"description":"Permanently deletes an address.","summary":"Delete an address","operationId":"deleteAddress","produces":["application/json"],"tags":["Addresses"],"parameters":[{"name":"id","in":"path","description":"ID of Address to delete","required":true,"type":"string"}],"responses":{"200":{"description":"Address deleted response","schema":{"$ref":"#/definitions/AddressResponse"}},"404":{"description":"Resource not found"}}}},"/origination/porting/portability_checks":{"post":{"summary":"Verify phone number portability","description":"Verifies the portability of a list of phone numbers.\n\nExample request body\n\n```json\n{\n  \"phone_numbers\": [\n    {\n      \"phone_number\": \"+13125354200\"\n    },\n    {\n      \"phone_number\": \"+13125354500\"\n    }\n  ]\n}\n```\n","operationId":"runPortabilityCheck","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"portability_check","in":"body","description":"List of phone numbers to check portability on","required":true,"schema":{"$ref":"#/definitions/PortabilityCheck"}}],"responses":{"201":{"description":"Portability check response","schema":{"type":"array","items":{"$ref":"#/definitions/PortabilityCheckResponse"}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/porting_exception_types":{"get":{"summary":"List all port exception types","description":"Returns a list of port exception types.","operationId":"getPortExceptionType","produces":["application/json"],"tags":["Number Porting"],"responses":{"200":{"description":"Port Exception Type Response","schema":{"type":"array","items":{"$ref":"#/definitions/PortingExceptionType"}}}}}},"/origination/porting/port_requests":{"get":{"summary":"List all port requests","description":"Returns a list of your port requests.","operationId":"findPortRequests","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":20},{"name":"search","in":"query","description":"Filter results by support_key (pr_*) or partial phone number","type":"string"},{"name":"status","in":"query","description":"Filter results by status","type":"string","enum":["incomplete","complete"]},{"name":"include_phone_numbers","in":"query","description":"Include phone number objects in the results","type":"boolean","default":true},{"name":"include_sub_requests","in":"query","description":"Include sub request objects in the results","type":"boolean","default":false}],"responses":{"200":{"description":"Port Requests Response","schema":{"type":"array","items":{"$ref":"#/definitions/PortRequest"}},"headers":{"Total":{"description":"Total number of results","type":"integer"},"Total-Pages":{"description":"Total number of pages","type":"integer"}}},"401":{"description":"Unauthorized"}}}},"/origination/porting/port_requests/{id}":{"get":{"summary":"Retrieve a port request","description":"Retrieves the details of an existing port request.","operationId":"findPortRequest","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"id","in":"path","description":"Port Request id","required":true,"type":"string"},{"name":"include_phone_numbers","in":"query","description":"Include phone number objects in the results","type":"boolean","default":true},{"name":"include_sub_requests","in":"query","description":"Include sub request objects in the results","type":"boolean","default":false}],"responses":{"200":{"description":"Port Request Response","schema":{"$ref":"#/definitions/PortRequest"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/port_requests/{port_request_id}/sub_requests":{"get":{"summary":"Retrieve all sub requests for a port request","description":"Returns a list of sub requests for a port request.","operationId":"findPortRequestSubrequests","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port Request id","required":true,"type":"string"}],"responses":{"200":{"description":"Sub Requests Response","schema":{"type":"array","items":{"$ref":"#/definitions/SubRequest"}}},"401":{"description":"Unauthorized"}}}},"/origination/porting/port_requests/{port_request_id}/sub_requests/{id}":{"get":{"summary":"Retrieve a sub request","description":"Retrieves the details of an existing sub request.","operationId":"findPortRequestSubrequest","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port Request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Sub Request id","required":true,"type":"string"}],"responses":{"200":{"description":"Sub Requests Response","schema":{"type":"array","items":{"$ref":"#/definitions/SubRequest"}}},"401":{"description":"Unauthorized"}}},"put":{"summary":"Edit a sub request","description":"Edits the details of an existing sub request.","operationId":"updatePortRequestSubrequest","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port Request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Sub Request id","required":true,"type":"string"},{"name":"sub_request","description":"Updated sub request details","in":"body","required":true,"schema":{"$ref":"#/definitions/UpdateSubRequestRequest"}}],"responses":{"200":{"description":"Sub Requests Response","schema":{"type":"array","items":{"$ref":"#/definitions/SubRequest"}}},"401":{"description":"Unauthorized"}}}},"/origination/porting/port_requests/{port_request_id}/sub_requests/{id}/allowed_foc_dates":{"get":{"summary":"List allowed FOC dates","description":"Returns a list of allowed FOC dates for a sub request.","operationId":"getAllowedFocDates","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port Request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Sub Request id","required":true,"type":"string"}],"responses":{"200":{"description":"Allowed FOC dates","schema":{"type":"array","items":{"$ref":"#/definitions/AllowedFocDate"}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/port_requests/{port_request_id}/sub_requests/{id}/cancellation":{"post":{"summary":"Request cancellation","description":"Request the cancellation of a  sub request.","operationId":"postCancellation","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port Request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Sub Request id","required":true,"type":"string"}],"responses":{"200":{"description":"Sub Request Updated","schema":{"$ref":"#/definitions/SubRequest"}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/port_requests/{port_request_id}/sub_requests/{id}/exceptions":{"get":{"summary":"List exceptions","description":"Returns a list of exceptions for a sub request.","operationId":"getExceptions","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port Request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Sub Request id","required":true,"type":"string"}],"responses":{"200":{"description":"Sub Request Exceptions","schema":{"type":"array","items":{"$ref":"#/definitions/PortingException"}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/port_requests/{port_request_id}/comments":{"get":{"summary":"List all comments for a port request","description":"Returns a list of comments for a port request.","operationId":"findPortRequestComments","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port Request id","required":true,"type":"string"}],"responses":{"200":{"description":"Comments Response","schema":{"type":"array","items":{"$ref":"#/definitions/PortRequestComment"}}},"401":{"description":"Unauthorized"}}},"post":{"summary":"Create a comment on a port request","description":"Creates a comment on a port request.","operationId":"postPortRequestComment","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port Request id","required":true,"type":"string"},{"name":"comment","in":"body","description":"Comment to post on this port request","required":true,"schema":{"$ref":"#/definitions/CreatePortRequestCommentRequest"}}],"responses":{"201":{"description":"Comment Response","schema":{"$ref":"#/definitions/PortRequestComment"}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/port_requests/{port_request_id}/supporting_documents":{"get":{"summary":"List all supporting documents for a port request","description":"Returns a list of supporting documents for a port request.","operationId":"findPortRequestSupportingDocuments","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port request id","required":true,"type":"string"}],"responses":{"200":{"description":"Supporting Document Responses","schema":{"type":"array","items":{"$ref":"#/definitions/PortRequestSupportingDocument"}}},"401":{"description":"Unauthorized"}}}},"/origination/porting/port_requests/{port_request_id}/supporting_documents/{id}":{"get":{"summary":"Retrieve a supporting document","description":"Retrieves the details of an existing supporting document.","operationId":"findPortRequestSupportingDocument","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Supporting document id","required":true,"type":"string"}],"responses":{"200":{"description":"Supporting Document Response","schema":{"$ref":"#/definitions/PortRequestSupportingDocument"}},"401":{"description":"Unauthorized"}}}},"/origination/porting/port_requests/{port_request_id}/supporting_documents/{id}/download_links":{"post":{"summary":"Create a supporting document download link","description":"Creates a link that allows the supporting document to be downloaded. The link expires 1 hour after creation.","operationId":"createPortRequestSupportingDocumentDownloadLink","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"port_request_id","in":"path","description":"Port request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Supporting document id","required":true,"type":"string"}],"responses":{"201":{"description":"Supporting Document Download Link Response","schema":{"$ref":"#/definitions/PortRequestSupportingDocumentDownloadLink"}},"401":{"description":"Unauthorized"}}}},"/origination/porting/draft_port_requests":{"get":{"summary":"List all draft port requests","description":"Returns a list of your draft port requests.","operationId":"findDraftPortRequests","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"page","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"per_page","in":"query","description":"Number of results per page","type":"integer","default":20},{"name":"search","in":"query","description":"Filter results by partial phone number","type":"string"},{"name":"status","in":"query","description":"Filter results by status","type":"string","enum":["pending","submitted"]},{"name":"include_phone_numbers","in":"query","description":"Include phone number objects in the results","type":"boolean","default":true},{"name":"include_sub_requests","in":"query","description":"Include sub request objects in the results","type":"boolean","default":false}],"responses":{"200":{"description":"Draft Port Requests Response","schema":{"type":"array","items":{"$ref":"#/definitions/DraftPortRequest"}},"headers":{"Total":{"description":"Total number of results","type":"integer"},"Total-Pages":{"description":"Total number of pages","type":"integer"}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}},"post":{"summary":"Create a draft port request","description":"Creates a new draft port request object.","operationId":"createDraftPortRequest","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"draft_port_request","description":"Draft port request to create","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateDraftPortRequestRequest"}}],"responses":{"201":{"description":"Draft port request response","schema":{"$ref":"#/definitions/DraftPortRequest"}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/draft_port_requests/{id}":{"get":{"summary":"Retrieve a draft port request","description":"Retrieves the details of an existing draft port request.","operationId":"findDraftPortRequest","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"id","in":"path","description":"Draft Port Request id","required":true,"type":"string"},{"name":"include_phone_numbers","in":"query","description":"Include phone number objects in the results","type":"boolean","default":true},{"name":"include_sub_requests","in":"query","description":"Include sub request objects in the results","type":"boolean","default":false}],"responses":{"200":{"description":"Draft Port Request Response","schema":{"$ref":"#/definitions/DraftPortRequest"}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/draft_port_requests/{id}/submit":{"post":{"summary":"Submit a draft port request","description":"Submits a draft port request. Once all of the sub requests belonging to a draft port request are populated with required information the draft port request can be submitted, initiating the porting process. Once successfully submitted changes can no longer be made to the draft port request. This request does not require a request body.","operationId":"submitDraftPortRequest","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"id","in":"path","description":"Draft Port Request id","required":true,"type":"string"}],"responses":{"201":{"description":"Draft port request response","schema":{"$ref":"#/definitions/DraftPortRequest"}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/draft_port_requests/{draft_port_request_id}/sub_requests":{"get":{"summary":"List all sub requests for a draft port request","description":"Returns a list of sub requests for a draft port request.","operationId":"retrieveDraftPortRequests","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"draft_port_request_id","in":"path","description":"Draft Port Request id","required":true,"type":"string"}],"responses":{"200":{"description":"Sub requests","schema":{"type":"array","items":{"$ref":"#/definitions/DraftSubRequest"}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/draft_port_requests/{draft_port_request_id}/sub_requests/{id}":{"get":{"summary":"Retrieve a draft sub request","description":"Retrieves the details of an existing draft sub request.","operationId":"getDraftSubRequest","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"draft_port_request_id","in":"path","description":"Draft Port Request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Sub Request id","required":true,"type":"string"}],"responses":{"200":{"description":"Sub request","schema":{"$ref":"#/definitions/DraftSubRequest"}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}},"put":{"summary":"Update a draft sub request","description":"Updates the specified draft sub request with the values of the parameters passed. Any parameters not included in the request will be left unchanged.\n\n**Note**: this is where you can set a default connection to pre-configure the numbers on a sub request. Connections can be created using the [create connections endpoint](/docs/connections/Connections#addConnection)\n","operationId":"updateDraftSubRequest","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"draft_port_request_id","in":"path","description":"Draft Port Request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Sub Request id","required":true,"type":"string"},{"name":"draft_sub_request","description":"Updated sub request details","in":"body","required":true,"schema":{"$ref":"#/definitions/UpdateDraftSubRequestRequest"}}],"responses":{"200":{"description":"Sub request","schema":{"$ref":"#/definitions/DraftSubRequest"}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/draft_port_requests/{draft_port_request_id}/sub_requests/{id}/allowed_foc_dates":{"get":{"summary":"List allowed FOC dates","description":"Returns a list of allowed FOC dates for a draft sub request.","operationId":"retrieveAllowedFocDates","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"draft_port_request_id","in":"path","description":"Draft Port Request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Sub Request id","required":true,"type":"string"}],"responses":{"200":{"description":"Allowed FOC dates","schema":{"type":"array","items":{"$ref":"#/definitions/AllowedFocDate"}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Check message field in response for details."}}}},"/origination/porting/draft_port_requests/{draft_port_request_id}/supporting_documents":{"get":{"summary":"List all supporting documents for a draft port request","description":"Returns a list of supporting documents for a draft port request.","operationId":"findDraftPortRequestSupportingDocuments","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"draft_port_request_id","in":"path","description":"Draft Port request id","required":true,"type":"string"}],"responses":{"200":{"description":"Supporting Document Responses","schema":{"type":"array","items":{"$ref":"#/definitions/PortRequestSupportingDocument"}}},"401":{"description":"Unauthorized"}}},"post":{"summary":"Create a draft supporting document","description":"##### Supporting Document Upload\n\nSubmitting a draft port request requires multiple supporting documents to be uploaded that provide details about the account associated with the telephone numbers and give our porting agents the authority to initiate the porting process from your current carrier to Telnyx.\n\nThe documents required for North American numbers are:\n\n1. The most recent bill copy/invoice from your current carrier\n2. A completed Letter of Authorization (LOA). This should be a completed copy of the [LOA template](https://portal.telnyx.com/downloads/other/Telnyx-LOA.pdf)\n\nWe recommend uploading these documents as either PDFs or images.\n\nUploading a supporting document is a multi-step process:\n\n##### 1. Submit an upload request through the API\n\nThis request signifies your intent to upload a document and will generate a temporary signature that grants you the ability to upload the file directly to Amazon S3 from either the browser or from your application server.\n\nSpecify the content type of the file being uploaded in the body of the request.\n\n`POST` `https://api.telnyx.com/files/upload_requests`\n\n###### Example request body\n\n```json\n{\n  \"content_type\": \"image/jpeg\"\n}\n```\n\nThe successful response will have status code `201 Created`.\n\n###### Example response body\n\n```json\n{\n  \"url\": \"https://files-service-prod.s3.amazonaws.com\",\n  \"http_method\": \"POST\",\n  \"form_fields\":{\n    \"x-amz-signature\": \"a476e969385909bb91e8afd7718a1bfbb857e22204bf616ece59bbfefd5bf9fb\",\n    \"x-amz-date\": \"20171003T174526Z\",\n    \"x-amz-credential\": \"dummy/20171003/us-east-1/s3/aws4_request\",\n    \"x-amz-algorithm\": \"AWS4-HMAC-SHA256\",\n    \"policy\": \"eyJleHBpcmF0aW9uIjoiMjAxNy0xMC0wM1QxODo0NToyNloiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJmaWxlcy1zZXJ2aWNlLXN0YWdpbmcifSxbInN0YXJ0cy13aXRoIiwiJGtleSIsImRpcmVjdC11cGxvYWRzLzg3YTFlNTkxLWM1NGItNGYxYy04OTQ3LTZmODg4YWE5MTYwNi8iXSx7IngtYW16LWFsZ29yaXRobSI6IkFXUzQtSE1BQy1TSEEyNTYifSx7IngtYW16LWNyZWRlbnRpYWwiOiJBS0lBSkJOM0xLRlgzT1cyQ1BRQS8yMDE3MTAwMy91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0In0seyJ4LWFtei1kYXRlIjoiMjAxNzEwMDNUMTc0NTI2WiJ9LHsiY29udGVudC10eXBlIjoiaW1hZ2UvanBlZyJ9LHsiYWNsIjoicHVibGljLXJlYWQifV19\",\n    \"key\": \"direct-uploads/87a1e591-c54b-4f1c-8947-6f888aa91606/${filename}\",\n    \"content-type\": \"image/jpeg\",\n    \"acl\": \"public-read\"\n  },\n  \"file_form_field\": \"file\"\n}\n```\n\n\n##### 2. Upload the file to Amazon S3 using a multipart file upload.\n\n`POST` `https://files-service-prod.s3.amazonaws.com/`\n\n###### Example request\n\nEach of the attributes in this request will need to be updated with the values received in the response to the upload request endpoint (see above) or, in the case of the `file`  field, the path to the file you are uploading.\n\n```bash\ncurl -X POST \\\n  https://files-service-prod.s3.amazonaws.com/ \\\n  -H 'cache-control: no-cache' \\\n  -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \\\n  -F policy=eyJleHBpcmF0aW9uIjoiMjAxNy0xMC0wNFQxNjo0NToxOFoiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJmaWxlcy1zZXJ2aWNlLXByb2QifSxbInN0YXJ0cy13aXRoIiwiJGtleSIsImRpcmVjdC11cGxvYWRzLzU1OTFkOTEwLTdlYTItNGE3NS05MGM5LWM0NjRmMzgwMzA1OS8iXSx7IngtYW16LWFsZ29yaXRobSI6IkFXUzQtSE1BQy1TSEEyNTYifSx7IngtYW16LWNyZWRlbnRpYWwiOiJBS0lBSkJOM0xLRlgzT1cyQ1BRQS8yMDE3MTAwNC91cy1lYXN0LTEvczMvYXdzNF9yZXF1ZXN0In0seyJ4LWFtei1kYXRlIjoiMjAxNzEwMDRUMTU0NTE4WiJ9LHsiY29udGVudC10eXBlIjoiaW1hZ2UvcG5nIn0seyJhY2wiOiJwdWJsaWMtcmVhZCJ9XX0= \\\n  -F 'key=direct-uploads/5591d910-7ea2-4a75-90c9-c464f3803059/${filename}' \\\n  -F x-amz-date=20171004T154518Z \\\n  -F x-amz-signature=804b627293b29469b9cb93c17a7da91d2d24d57429d6e97d3b7b409b40010c45 \\\n  -F x-amz-credential=dummy/20171004/us-east-1/s3/aws4_request \\\n  -F content-type=image/png \\\n  -F acl=public-read \\\n  -F x-amz-algorithm=AWS4-HMAC-SHA256 \\\n  -F file=@/path/to/file/image.png\n```\n\nThe successful response will have status code `204 No Content`. The information you need from the response is in the `Location` header.\n\n###### Response headers\n\nLocation header example:\n\n`Location: https://files-service-prod.s3.amazonaws.com/direct-uploads%2F87a1e591-c54b-4f1c-8947-6f888aa91606%2FConcept+8.jpg`\n\nSave this value for the next step.\n\n##### 3. Associate the uploaded file with your draft sub request.\n\nYou can now associate the uploaded file with the draft sub request by making a request to the Telnyx API.\n\n`POST` `https://api.telnyx.com/origination/porting/draft_port_requests/{draft_port_request_id}/supporting_documents`\n\n```json\n{\n  \"document_type\": \"invoice\",\n  \"description\": \"\",\n  \"url\": \"{URL returned by S3 in the Location header}\",\n  \"draft_sub_request_id\": \"{draft_sub_request_id}\"\n}\n```\n\nNote: The `document_type` field should be set to either `loa` or `invoice` according to the type of document being uploaded.\n\nThe successful response will have status code `201 Created`\n\nThese steps should be repeated for additional file uploads.\n","operationId":"createDraftPortRequestSupportingDocument","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"draft_port_request_id","in":"path","description":"Draft Port request id","required":true,"type":"string"},{"name":"supporting_document","description":"Supporting document details","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateSupportingDocumentRequest"}}],"responses":{"201":{"description":"Supporting Document Response","schema":{"$ref":"#/definitions/PortRequestSupportingDocument"}},"401":{"description":"Unauthorized"}}}},"/origination/porting/draft_port_requests/{draft_port_request_id}/supporting_documents/{id}":{"get":{"summary":"Retrieve a draft supporting document","description":"Retrieves the details of an existing supporting document belonging to a draft port request.","operationId":"findDraftPortRequestSupportingDocument","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"draft_port_request_id","in":"path","description":"Draft Port request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Supporting document id","required":true,"type":"string"}],"responses":{"200":{"description":"Supporting Document Response","schema":{"$ref":"#/definitions/PortRequestSupportingDocument"}},"401":{"description":"Unauthorized"}}}},"/origination/porting/draft_port_requests/{draft_port_request_id}/supporting_documents/{id}/download_links":{"post":{"summary":"Create a draft supporting document download link","description":"Creates a link that allows the draft supporting document to be downloaded. The link expires 1 hour after creation.","operationId":"createDraftPortRequestSupportingDocumentDownloadLink","produces":["application/json"],"tags":["Number Porting"],"parameters":[{"name":"draft_port_request_id","in":"path","description":"Draft Port request id","required":true,"type":"string"},{"name":"id","in":"path","description":"Supporting document id","required":true,"type":"string"}],"responses":{"201":{"description":"Supporting Document Download Link Response","schema":{"$ref":"#/definitions/PortRequestSupportingDocumentDownloadLink"}},"401":{"description":"Unauthorized"}}}},"/recordings":{"get":{"description":"Returns a list of your call recordings.","summary":"List all call recordings","operationId":"getCallRecordings","produces":["application/json"],"tags":["Call Recordings"],"parameters":[{"name":"page[page]","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"page[page_size]","in":"query","description":"Number of results per page","type":"integer","default":20,"maximum":1000},{"name":"call_id","in":"query","description":"If present, recordings will be filtered to those with a matching call_id. Matching is case-sensitive","type":"string"},{"name":"from","in":"query","description":"If present, recordings will be filtered to those with a matching `from` attribute. Matching is case-sensitive","type":"string"},{"name":"to","in":"query","description":"If present, recordings will be filtered to those with a matching `to` attribute. Matching is case-sensitive","type":"string"},{"name":"telnyx_session_uuid","in":"query","description":"If present, recordings will be filtered to those with a matching `telnyx_session_uuid` attribute. Matching is case-sensitive","type":"string"},{"name":"connection_id","in":"query","description":"If present, recordings will be filtered to those with a matching `connection_id` attribute. Matching is case-sensitive","type":"string"}],"responses":{"200":{"description":"Call Recording response","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/CallRecordingResponse"}}}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by improper use of filters or nodes."}}}},"/recordings/{id}":{"get":{"description":"Retrieves the details of an existing call recording.","summary":"Retrieve a call recording","operationId":"getCallRecording","produces":["application/json"],"tags":["Call Recordings"],"parameters":[{"name":"id","in":"path","description":"ID of the recording to retrieve","required":true,"type":"string"}],"responses":{"200":{"description":"Call recording response","schema":{"type":"object","properties":{"data":{"type":"object","$ref":"#/definitions/CallRecordingResponse"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Unprocessable entity. Can be caused by invalid UUID format"}}},"delete":{"description":"Permanently deletes a call recording.","summary":"Delete a call recording","operationId":"deleteCallRecording","produces":["application/json"],"tags":["Call Recordings"],"parameters":[{"name":"id","in":"path","description":"ID of Call Recording to delete","required":true,"type":"string"}],"responses":{"200":{"description":"Call recording response","schema":{"type":"object","properties":{"data":{"type":"object","$ref":"#/definitions/CallRecordingResponse"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Unprocessable entity. Can be caused by invalid UUID format"}}}},"/recordings/actions/delete":{"post":{"description":"Permanently deletes a list of call recordings.","summary":"Deletes a list of call recordings","operationId":"deleteManyCallRecording","produces":["application/json"],"tags":["Call Recordings"],"parameters":[{"name":"ids","in":"body","description":"List of Call Recordings IDs to delete","required":true,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"204":{"description":"Success"},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by invalid UUID format"}}}},"/auth/actions":{"get":{"summary":"List all actions","description":"Returns a list of actions. Results are paginated to improve retrieval peformance. The meta data indicates how many total records exist.","operationId":"ActionsGet","produces":["application/json"],"tags":["Actions"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"category","description":"Type of action to filter on.","in":"query","required":false,"type":"string"},{"name":"page[number]","description":"Current page based on pagination settings.","in":"query","required":false,"type":"number","format":"double"},{"name":"page[size]","description":"Number of results to return per page based on pagination settings.","in":"query","required":false,"type":"number","format":"double"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllActionsResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/actions/{id}":{"get":{"summary":"Retrieve an action","description":"Retrieves the details of an action.","operationId":"ActionsByActionIdGet","produces":["application/json"],"tags":["Actions"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the Action","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAnActionResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/resource_groups":{"get":{"summary":"List all resource groups","description":"Returns a list of your resource groups. Results are paginated to improve retrieval peformance. The meta data indicates how many total records exist.","operationId":"ResourceGroupsGet","produces":["application/json"],"tags":["Resource Groups"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"page[number]","description":"Current page based on pagination settings.","in":"query","required":false,"type":"number","format":"double"},{"name":"page[size]","description":"Number of results to return per page based on pagination settings.","in":"query","required":false,"type":"number","format":"double"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllResourceGroupsResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"post":{"summary":"Create a resource group","description":"Creates a resource group.","operationId":"ResourceGroupsPost","produces":["application/json"],"tags":["Resource Groups"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"resource_group","in":"body","required":true,"schema":{"$ref":"#/definitions/ResourceGroupCreate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CreateAResourceGroupResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/resource_groups/{id}":{"get":{"summary":"Retrieve a resource group","description":"Retrieves the details of an existing resource group.","operationId":"ResourceGroupsByResourceGroupIdGet","produces":["application/json"],"tags":["Resource Groups"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the Resource Group","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAResourceGroupResponse"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}},"patch":{"summary":"Update a resource group","description":"Updates the specified resource group with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","operationId":"ResourceGroupsByResourceGroupIdPatch","produces":["application/json"],"tags":["Resource Groups"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the Resource Group","in":"path","required":true,"type":"string"},{"name":"body","description":"","in":"body","required":true,"schema":{"$ref":"#/definitions/ResourceGroupCreate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/UpdateAResourceGroupResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/permission_groups":{"get":{"summary":"List all permission groups","description":"Returns a list of your permission groups. Results are paginated to improve retrieval peformance. The meta data indicates how many total records exist.","operationId":"PermissionGroupsGet","produces":["application/json"],"tags":["Permission Groups"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"include_actions","description":"If false, only ids will be returned, otherwise the nested resource will be returned.","in":"query","required":false,"type":"boolean"},{"name":"include_resource_groups","description":"If false, only ids will be returned, otherwise the nested resource will be returned.","in":"query","required":false,"type":"boolean"},{"name":"page[number]","description":"Current page based on pagination settings.","in":"query","required":false,"type":"number","format":"double"},{"name":"page[size]","description":"Number of results to return per page based on pagination settings.","in":"query","required":false,"type":"number","format":"double"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllPermissionGroupsResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}},"post":{"summary":"Create a permission group","description":"Creates a new permission group object.","operationId":"PermissionGroupsPost","produces":["application/json"],"tags":["Permission Groups"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/PermissionGroupCreate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CreateAPermissionGroupResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/permission_groups/{id}":{"get":{"summary":"Retrieve a permission group","description":"Retrieves the details of an existing permission group.","operationId":"PermissionGroupsByPermissionGroupIdGet","produces":["application/json"],"tags":["Permission Groups"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the Permission Group","in":"path","required":true,"type":"string"},{"name":"include_actions","description":"If true, only ids will be returned, otherwise the nested resource will be returned.","in":"query","required":false,"type":"boolean"},{"name":"include_resource_groups","description":"If true, only ids will be returned, otherwise the nested resource will be returned.","in":"query","required":false,"type":"boolean"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAPermissionGroupResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}},"patch":{"summary":"Update a permission group","description":"Updates the specified permission group with the parameters passed. Any parameters not included in the request will be left unchanged.","operationId":"PermissionGroupsByPermissionGroupIdPatch","produces":["application/json"],"tags":["Permission Groups"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the Permission Group","in":"path","required":true,"type":"string"},{"name":"permission_group","in":"body","required":true,"schema":{"$ref":"#/definitions/PermissionGroupCreate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/UpdateAPermissionGroupResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/api_keys":{"get":{"summary":"List all API keys","description":"Returns a list of your API keys. Results are paginated to improve retrieval peformance. The meta data indicates how many total records exist.","operationId":"ApiKeysGet","produces":["application/json"],"tags":["API Keys"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"include_permission_groups","description":"If false, only ids will be returned, otherwise the nested resources will be returned.","in":"query","required":false,"type":"boolean"},{"name":"page[number]","description":"Current page based on pagination settings.","in":"query","required":false,"type":"number","format":"double"},{"name":"page[size]","description":"Number of results to return per page based on pagination settings.","in":"query","required":false,"type":"number","format":"double"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllApiKeysResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}},"post":{"summary":"Create an API key","description":"Creates a new API key object.","operationId":"ApiKeysPost","produces":["application/json"],"tags":["API Keys"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"api_key","in":"body","required":true,"schema":{"$ref":"#/definitions/ApiKeyCreate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CreateAnApiKeyResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/api_keys/{id}":{"get":{"summary":"Retrieve an API key","description":"Retrieves the details of an existing API key.","operationId":"ApiKeysByApiKeyIdGet","produces":["application/json"],"tags":["API Keys"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the API Key","in":"path","required":true,"type":"string"},{"name":"include_permission_groups","description":"If false, only ids will be returned, otherwise the nested resources will be returned.","in":"query","required":false,"type":"boolean"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAnApiKeyResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}}}},"patch":{"summary":"Update an API key","description":"Updates the specified API key with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","operationId":"ApiKeysByApiKeyIdPatch","produces":["application/json"],"tags":["API Keys"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the API Key","in":"path","required":true,"type":"string"},{"name":"api_key","in":"body","required":true,"schema":{"$ref":"#/definitions/ApiKeyUpdate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/UpdateAnApiKeyResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/api_keys/{id}/backup_secret":{"post":{"summary":"Generate an API key's backup secret","description":"Generates a new backup secret for an API key.","operationId":"ApiKeysBackupSecretByApiKeyIdPost","produces":["application/json"],"tags":["API Keys"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the API Key","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GenerateAnApiKeysBackupSecretResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/api_keys/{id}/rotate_secret":{"post":{"summary":"Rotate an API key's secret","description":"Replaces an API key's secret with the backup secret. If no backup secret is set, the secret will be replaced with a newly generated value.","operationId":"ApiKeysRotateSecretByApiKeyIdPost","produces":["application/json"],"tags":["API Keys"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the API Key","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/RotateAnApiKeysSecretResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/api_keys/{id}/assignment":{"post":{"summary":"Assign an API key to another user","description":"Assigns an API key to a user. This controls what they are authorized to do in Mission Control.","operationId":"ApiKeysAssignByApiKeyIdPost","produces":["application/json"],"tags":["API Keys"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the API Key","in":"path","required":true,"type":"string"},{"name":"api_key_assignment","in":"body","required":true,"schema":{"$ref":"#/definitions/ApiKeyAssign"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/AssignAnApiKeyToAnotherUserResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/auth/access_tokens":{"post":{"summary":"Create an access token","description":"Creates a new access token object.","operationId":"AccessTokensPost","produces":["application/json"],"tags":["Access Tokens"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/AccessTokenCreate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CreateAnAccessTokenResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/calls/{call_control_id}/actions/answer":{"post":{"summary":"Answer call","description":"Answer an incoming call. You must issue this command before executing other subsequent commands on an incoming call.\n\n\n**Expected Webhooks:**\n- [Call answered](/docs/api/v1/call-control/Call%20Webhooks#call-answered)\n","operationId":"CallControlAnswer","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/AnswerRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}}}}},"/calls/{call_control_id}/actions/bridge":{"post":{"summary":"Bridge calls","description":"Bridge two call control calls.\n\n\n**Expected Webhooks:**\n- [Call bridged](/docs/api/v1/call-control/Call%20Webhooks#call-bridged) for Leg A\n- [Call bridged](/docs/api/v1/call-control/Call%20Webhooks#call-bridged) for Leg B\n","operationId":"CallControlBridge","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/BridgeRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls/{call_control_id}/actions/fork_start":{"post":{"summary":"Forking start","description":"Call forking allows you to stream the media from a call to a specific target in realtime. \nThis stream can be used to enable realtime audio analysis in support of a \nvariety of use cases, including fraud detection, or the creation of AI-generated audio responses. \nRequests must specify either the \"target\" attribute or the \"rx\" and \"tx\" attributes.\n\n**Expected Webhooks:**\n\nThere are currently no webhooks associated with the Forking start command.\n\n\n**Simple Telnyx RTP Encapsulation Protocol (STREP)**\n\n*Note: This header/encapsulation is not used when the \"rx\" and \"tx\"\nparameters have been specified; it only applies when media is forked\nusing the \"target\" attribute.*\n\nIf the destination for forked media is specified using the \"target\"\nattribute, the RTP will be encapsulated in an extra Telnyx protocol,\nwhich adds a 24 byte header to the RTP payload in each packet. The STREP\nheader includes the Call Control `call_leg_id` for stream\nidentification, along with bits that represent the direction (inbound or\noutbound) of the media. This 24-byte header sits between the UDP header\nand the RTP header.\n\nThe STREP header makes it possible to fork RTP for multiple calls (or\ntwo RTP streams for the same call) to the same IP:port, where the\nstreams can be demultiplexed by your application using the information\nin the header. Of course, it's still possible to ignore this header\ncompletely, for example, if sending forked media for different calls to\ndifferent ports or IP addresses. In this case, simply strip 24 bytes\n(or use the second byte to find the header length) from the received UDP\npayload to get the RTP (RTP header and payload).\n\n```\nSTREP Specification\n\n  0                   1                   2                   3\n  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n |1 1|Version|L|D|    HeaderLen  |  reserved (2 bytes)           |\n +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n |       reserved (4 bytes, for UDP ports or anything else)      |\n +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n |               The call_leg_id                                 |\n |                   from Call Control                           |\n |                       (128 bits / 16 bytes)                   |\n |                           (this is binary data)               |\n +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n\n 11\n   Static bits 11, always set to 11, so that we humans can easily\n   visually distinguish forked media from RTP (10) and T.38 media (usually 00)\n   and SIP (which begins with a capital letter, so begins with bits 01)\n   This is a magic number.\n\n Version\n   Four bits to indicate the version number of the protocol, starting at 0001.\n\n L\n   One bit to represent the leg of the call (A or B).\n   0 represents the A (first) leg of the call.\n   1 represents the B (second) leg of the call.\n\n D\n   One bit to represent the direction of this RTP stream.\n   0 represents media received by Telnyx.\n   1 represents media transmitted by Telnyx.\n\n HeaderLen (1 byte)\n   The length of the header in bytes.\n   Note that this value does not include the length of the payload. The total\n   size of the RTP can be calculated by subtracting the HeaderLen from the UDP\n   length (minus 8 for the UDP header).\n   In version 1, this value will always be 24.\n\n Reserved (6 bytes)\n   Reserved for future use and to make sure that the header is a multiple of 32 bits\n\n Call Leg ID\n   A 128-bit identifier for the call leg.\n   This is the call_leg_id from Call Control.\n```\n","operationId":"CallControlForkStart","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/StartForkingRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls/{call_control_id}/actions/fork_stop":{"post":{"summary":"Forking stop","description":"Stop forking a call.\n\n**Expected Webhooks:**\n\nThere are currently no webhooks associated with the Forking start command.\n","operationId":"CallControlForkStop","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/StopForkingRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}}}}},"/calls/{call_control_id}/actions/gather_using_audio":{"post":{"summary":"Gather using audio","description":"Play an audio file on the call until the required DTMF signals are gathered to build interactive menus.\n\nYou can pass a list of valid digits along with an 'invalid_audio_url', which will be played back at the beginning of each prompt. Playback will be interrupted when a DTMF signal is received. The [Answer](/docs/api/v1/call-control/Call-Commands#CallControlAnswer) command must be issued before the `gather_using_audio` command.\n\n**Expected Webhooks:**\n- [Playback started](/docs/api/v1/call-control/Call%20Webhooks#playback-started)\n- [Playback ended](/docs/api/v1/call-control/Call%20Webhooks#playback-ended)\n- [DTMF](/docs/api/v1/call-control/Call%20Webhooks#dtmf) (you may receive many of these webhooks)\n- [Gather ended](/docs/api/v1/call-control/Call%20Webhooks#gather-ended)\n","operationId":"CallControlGatherUsingAudio","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/GatherUsingAudioRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls/{call_control_id}/actions/gather_using_speak":{"post":{"summary":"Gather using speak","description":"Convert text to speech and play it on the call until the required DTMF signals are gathered to build interactive menus. \n\nYou can pass a list of valid digits along with an 'invalid_payload', which will be played back at the beginning of each prompt. Speech will be interrupted when a DTMF signal is received. The [Answer](/docs/api/v1/call-control/Call-Commands#CallControlAnswer) command must be issued before the `gather_using_speak` command.\n\n**Expected Webhooks:**\n- [DTMF](/docs/api/v1/call-control/Call%20Webhooks#dtmf) (you may receive many of these webhooks)\n- [Gather ended](/docs/api/v1/call-control/Call%20Webhooks#gather-ended)\n","operationId":"CallControlGatherUsingSpeak","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/GatherUsingSpeakRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls/{call_control_id}/actions/gather_stop":{"post":{"summary":"Stop gather","description":"Stops previously started gather\n\n**Expected Webhooks:**\n- [Gather ended](/docs/api/v1/call-control/Call%20Webhooks#gather-ended)\n","operationId":"CallControlGatherStop","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/GatherStopRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls/{call_control_id}/actions/hangup":{"post":{"summary":"Hangup call","description":"**Expected Webhooks:**\r\n- [Call hangup](/docs/api/v1/call-control/Call%20Webhooks#call-hangup)\r\n- [Recording saved](/docs/api/v1/call-control/Call%20Webhooks#recording-saved) (applies only if a call is being recorded)\r\n","operationId":"CallControlHangup","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/HangupRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}}}}},"/calls/{call_control_id}/actions/reject":{"post":{"summary":"Reject call","description":"Reject an incoming call\r\n\r\n**Expected Webhooks:**\r\n- [Call hangup](/docs/api/v1/call-control/Call%20Webhooks#call-hangup)\r\n","operationId":"CallControlReject","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/RejectRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}}}}},"/calls/{call_control_id}/actions/playback_start":{"post":{"summary":"Play audio URL","description":"Play an audio file on the call. If multiple play audio commands are consecutively issued,\nthe audio files will be placed in a queue awaiting playback.\n\n\n*Notes:*\n* *when 'overlay' is enabled, 'loop' is limited to 1, and 'target_legs' is limited to 'self'.*\n* *A customer cannot Play Audio with overlay=true unless there is a Play Audio with overlay=false actively playing.*\n\n**Expected Webhooks:**\n- [Playback started](/docs/api/v1/call-control/Call%20Webhooks#playback-started)\n- [Playback ended](/docs/api/v1/call-control/Call%20Webhooks#playback-ended)\n","operationId":"CallControlPlaybackStart","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/PlayAudioUrlRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls/{call_control_id}/actions/playback_stop":{"post":{"summary":"Stop audio playback","description":"Stops audio being played on the call.\n\n**Expected Webhooks:**\n- Either [Playback ended](/docs/api/v1/call-control/Call%20Webhooks#playback-ended) or [Speak ended](/docs/api/v1/call-control/Call%20Webhooks#speak-ended)\n\n\n\n","operationId":"CallControlPlaybackStop","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/PlaybackStopRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls/{call_control_id}/actions/record_start":{"post":{"summary":"Recording start","description":"Start recording the call. Recording will stop on call hang-up, or can be initiated via the Stop Recording command.\n\n**Expected Webhooks:**\nThere are no webhooks associated with this Command.\n\n","operationId":"CallControlRecordStart","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/StartRecordingRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls/{call_control_id}/actions/record_stop":{"post":{"summary":"Recording stop","description":"Stop recording the call.\n\n**Expected Webhooks:**\n- [Recording saved](/docs/api/v1/call-control/Call%20Webhooks#recording-saved)\n","operationId":"CallControlRecordStop","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/StopRecordingRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}}}}},"/calls/{call_control_id}/actions/send_dtmf":{"post":{"summary":"Send DTMF","description":"Sends DTMF tones from this leg. DTMF tones will be heard by the other end of the call.\n\n**Expected Webhooks:**\n\nThere are no webhooks associated with this command.\n","operationId":"CallControlSendDTMF","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/SendDTMFRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls/{call_control_id}/actions/speak":{"post":{"summary":"Speak text","description":"Convert text to speech and play it back on the call.  If multiple speak text commands are issued consecutively, the audio files will be placed in a queue awaiting playback.\n\n**Expected Webhooks:**\n- [Speak started](/docs/api/v1/call-control/Call%20Webhooks#speak-started)\n- [Speak ended](/docs/api/v1/call-control/Call%20Webhooks#speak-ended)\n","operationId":"CallControlSpeak","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/SpeakRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls/{call_control_id}/actions/transfer":{"post":{"summary":"Transfer call","description":"Transfer a call to a new destination. If the transfer is unsuccessful, a 'call_hangup' webhook will be sent indicating that the transfer could not be completed. The original call will remain active and may be issued additional commands, potentially transfering the call to an alternate destination.\n\n**Expected Webhooks:**\n- [Call initiated](/docs/api/v1/call-control/Call%20Webhooks#call-initiated)\n- [Call bridged](/docs/api/v1/call-control/Call%20Webhooks#call-bridged) to Leg B\n- You will receive either a [Call answered](/docs/api/v1/call-control/Call%20Webhooks#call-answered) webhook or a [Call hangup](/docs/api/v1/call-control/Call%20Webhooks#call-hangup) webhook.\n- [Answering Machine Detection Result](/docs/api/v1/call-control/Call%20Webhooks#amd-result) if `answering_machine_detection` set to `detect`, `greeting_end` or `detect_words`.\n- [Answering Machine Greeting Ended](/docs/api/v1/call-control/Call%20Webhooks#answering-machine-greeting-ended-webhook) if `answering_machine_detection` set to `greeting_end` or `detect_words` and `machine` detected initially.\n","operationId":"CallControlTransfer","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/TransferCallRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/calls":{"post":{"summary":"Dial","description":"Dial a number from a given connection. A successful response will include a `call_leg_id` which can be used to correlate the command with subsequent webhooks.\n\n**Expected Webhooks:**\n\n- [Call initiated](/docs/api/v1/call-control/Call%20Webhooks#call-initiated)\n- You will receive either a [Call answered](/docs/api/v1/call-control/Call%20Webhooks#call-answered) webhook or a [Call hangup](/docs/api/v1/call-control/Call%20Webhooks#call-hangup) webhook.\n- [Answering Machine Detection Result](/docs/api/v1/call-control/Call%20Webhooks#amd-result) if `answering_machine_detection` set to `detect`, `greeting_end` or `detect_words`.\n- [Answering Machine Greeting Ended](/docs/api/v1/call-control/Call%20Webhooks#answering-machine-greeting-ended-webhook) if `answering_machine_detection` set to `greeting_end` or `detect_words` and `machine` detected initially.\n","operationId":"CallControlDial","produces":["application/json"],"tags":["Call Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/DialRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CallControlCommandResponse"}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/security/connections/{connection_id}/call_control_authentication":{"post":{"description":"Sets the authentication method of a connection and associates the call control settings.                             This will remove any other authentication type set for the connection.","summary":"Set a connection to use call control authentication","operationId":"createCallControlAuthentication","produces":["application/json"],"tags":["Call Control Authentication for Connections"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the Call Control App (formerly ID of the connection) which you will set to use this type of authentication","required":true,"type":"string"},{"name":"call_control_details","in":"body","description":"Call Control details","required":true,"schema":{"$ref":"#/definitions/CallControlAuthenticationDetails"}}],"responses":{"200":{"description":"Call Control Authentication creation response","schema":{"$ref":"#/definitions/CallControlAuthenticationResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"}}},"put":{"description":"Updates the connection call control settings with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","summary":"Update call control settings for a connection","operationId":"updateCallControlAuthentication","produces":["application/json"],"tags":["Call Control Authentication for Connections"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the Call Control App (formerly ID of the connection) whose call control settings are to be updated","required":true,"type":"string"},{"name":"call_control_details","in":"body","description":"Call Control details","required":true,"schema":{"$ref":"#/definitions/CallControlAuthenticationDetails"}}],"responses":{"200":{"description":"Call Control Authentication update response","schema":{"$ref":"#/definitions/CallControlAuthenticationResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"}}}},"/security/connections/{connection_id}/call_control_xml_authentication":{"post":{"description":"BETA: Sets the authentication method of a connection and associates the call control settings.                             This will remove any other authentication type set for the connection.","summary":"Set a connection to use XML Translator authentication","operationId":"createXmlCallControlAuthentication","produces":["application/json"],"tags":["XML Translator Connection Authentication"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the TeXML App (formerly connection) which you will set to use this type of authentication","required":true,"type":"string"},{"name":"xml_call_control_details","in":"body","description":"XML Translator details","required":true,"schema":{"$ref":"#/definitions/CallControlXmlAuthenticationDetails"}}],"responses":{"200":{"description":"XML Translator Authentication creation response","schema":{"$ref":"#/definitions/CallControlXmlAuthenticationResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"}}},"put":{"description":"BETA: Updates the connection XML Translator settings with the values of the parameters passed. Any parameters not included in the request will be left unchanged.","summary":"Update XML Translator settings for a connection","operationId":"updateXmlCallControlAuthentication","produces":["application/json"],"tags":["XML Translator Connection Authentication"],"parameters":[{"name":"connection_id","in":"path","description":"ID of the TeXML App (formerly connection) whose XML Translator settings are to be updated","required":true,"type":"string"},{"name":"xml_call_control_details","in":"body","description":"XML Translator details","required":true,"schema":{"$ref":"#/definitions/CallControlXmlAuthenticationDetails"}}],"responses":{"200":{"description":"XML Translator Authentication update response","schema":{"$ref":"#/definitions/CallControlXmlAuthenticationResponse"}},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"404":{"description":"Record Not Found"}}}},"/call_events":{"get":{"summary":"List events","description":"Lists all events for a given call.\n\n**Note**: input either a `call_leg_id` or a `call_session_id`. If a request has both, it will only filter by `call_leg_id`.\n","operationId":"CallControlDebuggingEventList","produces":["application/json"],"tags":["Debugging"],"parameters":[{"name":"call_leg_id","description":"The unique identifier of an individual call leg.","in":"query","required":false,"type":"string"},{"name":"call_session_id","description":"The unique identifier of the call control session. A session may include multiple call leg events.","in":"query","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response"},"422":{"description":"Unprocessable entity"}}}},"/calls/{call_control_id}/status":{"get":{"summary":"Call Status","description":"Returns the status of a given call.","operationId":"CallControlStatus","produces":["application/json"],"tags":["Call Information"],"parameters":[{"name":"call_control_id","description":"Unique identifier and token for controlling the call","in":"path","required":true,"type":"string"}],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","schema":{"properties":{"data":{"$ref":"#/definitions/CallControlStatusResponse"}}}},"422":{"description":"Error response","schema":{"$ref":"#/definitions/CallControlInvalidParamsResponse"}}}}},"/networking/networks":{"get":{"summary":"Get all Networks","description":"Returns a list of all your networks","operationId":"NetworksGet","produces":["application/json"],"tags":["Networks"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"page[number]","description":"Current page based on pagination settings.","in":"query","required":false,"type":"number"},{"name":"page[size]","description":"Number of results to return per page based on pagination settings.","in":"query","required":false,"type":"number"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllNetworksResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"post":{"summary":"Create a Network","description":"Create a new network.","operationId":"NetworkPost","produces":["application/json"],"tags":["Networks"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"network","in":"body","required":true,"schema":{"$ref":"#/definitions/NetworkCreate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CreateANetworkResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/networking/networks/{id}":{"get":{"summary":"Get a Network","description":"Returns the details of a network. The ID in the path can either be the name of the network (e.g. `MYNETWORKPROD`) or object ID.","operationId":"NetworkGetById","produces":["application/json"],"tags":["Networks"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the network","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetANetworkResponse"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"patch":{"summary":"Update a Network","description":"Update the details of a network","operationId":"NetworkUpdate","produces":["application/json"],"tags":["Networks"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the IP address","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":false,"schema":{"$ref":"#/definitions/NetworkUpdate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/UpdateANetworkResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}},"delete":{"summary":"Delete a Network","description":"Delete a network. The ID in the path can either be the name of the network (e.g. `MYNETWORKPROD`) or object ID.","operationId":"NetworkDelete","produces":["application/json"],"tags":["Networks"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the network","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/DeleteANetworkResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/networking/search/sites":{"get":{"summary":"Search Available Sites","description":"Search for available sites to deploy your network to.","operationId":"SitesGet","produces":["application/json"],"tags":["Sites"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"filter[region_id]","description":"The `id` of the region you want to filter on","in":"query","required":true,"type":"number"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/SearchSiteResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/networking/vxc_bandwidths":{"get":{"summary":"Get Available Bandwidths","description":"Get a list of available bandwidths for VXC creation","operationId":"VxcBandwidthsGet","produces":["application/json"],"tags":["Virtual Cross Connects"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"filter[site_id]","description":"The `id` of the site you want to filter on","in":"query","required":false,"type":"string"},{"name":"filter[cloud_provider]","description":"The cloud provider you want to filter on","in":"query","required":false,"type":"string"},{"name":"filter[cloud_region]","description":"The cloud region you want to filter on","in":"query","required":false,"type":"string"},{"name":"filter[local]","description":"Whether you want to see only local regions","in":"query","required":false,"type":"boolean"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllVXCBandwidthsResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/networking/vxcs":{"get":{"summary":"Get all VXCs","description":"Returns a list of all your networks","operationId":"VXCsGet","produces":["application/json"],"tags":["Virtual Cross Connects"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"filter[site_id]","description":"The site `id` to filter on","in":"query","required":false,"type":"number"},{"name":"filter[network_id]","description":"The network `id` to filter on","in":"query","required":false,"type":"number"},{"name":"page[number]","description":"Current page based on pagination settings.","in":"query","required":false,"type":"number"},{"name":"page[size]","description":"Number of results to return per page based on pagination settings.","in":"query","required":false,"type":"number"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllVXCsResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"post":{"summary":"Order a VXC","description":"Use the Get Available Bandwidths API to find all available bandwidths and their corresponding prices.","operationId":"VXCPost","produces":["application/json"],"tags":["Virtual Cross Connects"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"body","in":"body","required":false,"schema":{"$ref":"#/definitions/VXCCreate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/CreateAVXCResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/networking/vxcs/{id}":{"get":{"summary":"Get a VXC","description":"Retrieve details of a VXC","operationId":"VXCGetById","produces":["application/json"],"tags":["Virtual Cross Connects"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the VXC","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAVXCResponse"}},"404":{"description":"Resource not found","schema":{"$ref":"#/definitions/StructuredError"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"patch":{"summary":"Update VXC","description":"Update the details of a VXC","operationId":"VXCUpdate","produces":["application/json"],"tags":["Virtual Cross Connects"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the VXC","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":false,"schema":{"$ref":"#/definitions/VXCUpdate"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/UpdateAVXCResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}},"422":{"description":"Invalid parameters supplied in request. See HTTP response body for details.","schema":{"$ref":"#/definitions/StructuredError"}}}},"delete":{"summary":"Delete a VXC","description":"Delete a VXC","operationId":"VXCDelete","produces":["application/json"],"tags":["Virtual Cross Connects"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"The `id` of the VXC","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/DeleteAVXCResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/networking/vxcs/{vxc_id}/links/{link_id}":{"delete":{"summary":"Delete a VXC Link","description":"Delete a VXC Link","operationId":"VXCDeleteLink","produces":["application/json"],"tags":["Virtual Cross Connects"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"vxc_id","description":"The `id` of the VXC","in":"path","required":true,"type":"string"},{"name":"link_id","description":"The `id` of the VXC's Link","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/DeleteAVXCResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/sim_cards":{"get":{"summary":"Get all SIM cards","description":"Returns a list of all your sim cards","operationId":"SimCardsGet","produces":["application/json"],"tags":["SIM Cards"],"parameters":[{"name":"page[number]","description":"Current page based on pagination settings.","in":"query","required":false,"type":"number"},{"name":"page[size]","description":"Number of results to return per page based on pagination settings.","in":"query","required":false,"type":"number"},{"name":"filter[sim_card_tags]","description":"A list of SIM card tags to filter on.","in":"query","required":false,"type":"array","items":{"type":"string"}},{"name":"filter[sim_card_id]","description":"A valid SIM card ID.","in":"query","required":false,"type":"string","format":"uuid"},{"name":"filter[sim_card_iccid]","description":"A search string to partially match for the SIM card's ICCID.","in":"query","required":false,"type":"string"},{"name":"filter[sim_card_group_id]","description":"A valid SIM card group ID.","in":"query","required":false,"type":"string","format":"uuid"},{"name":"filter[sim_card_group_name]","description":"A search string to partially match for the SIM card's group.","in":"query","required":false,"type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllSimCardsResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/sim_cards/{id}":{"get":{"summary":"Get SIM card","description":"Returns the details regarding a specific SIM card.","operationId":"SimCardGet","produces":["application/json"],"tags":["SIM Cards"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the SIM card","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetSimCardResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"patch":{"summary":"Update SIM card","description":"Updates a specific SIM card.","operationId":"SimCardPatch","produces":["application/json"],"tags":["SIM Cards"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the SIM card","required":true,"type":"string","format":"uuid"},{"name":"sim_card_details","description":"SIM card update request","in":"body","required":true,"schema":{"$ref":"#/definitions/SimCardPatchRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/UpdateSimCardResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/sim_cards/tags":{"get":{"summary":"Get SIM card tags","description":"A list of all the unique tags currently used across your SIM cards.","operationId":"SimCardTags","produces":["application/json"],"tags":["SIM Cards"],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/SimCardTagResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/sim_cards/actions/register":{"post":{"summary":"Register SIM card","description":"Register a SIM card code.","operationId":"SimCardRegister","produces":["application/json"],"tags":["SIM Cards"],"parameters":[{"name":"sim_card_registration","description":"SIM card update request","in":"body","required":true,"schema":{"$ref":"#/definitions/SimCardRegisterRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/SimCardRegisterResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/sim_cards/actions/bulk_update":{"post":{"summary":"Bulk update SIM cards","description":"Bulk updates to perform on a list of SIM cards","operationId":"SimCardBulkUpdate","produces":["application/json"],"tags":["SIM Cards"],"parameters":[{"name":"bulk_update","description":"SIM card bulk update request","in":"body","required":true,"schema":{"$ref":"#/definitions/BulkUpdateRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/SimCardBulkUpdateResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/sim_card_orders":{"get":{"summary":"Get all SIM card orders","description":"Returns a list of all your sim card orders","operationId":"SimCardOrdersGet","produces":["application/json"],"tags":["SIM Card Orders"],"parameters":[{"name":"page[number]","description":"Current page based on pagination settings.","in":"query","required":false,"type":"number"},{"name":"page[size]","description":"Number of results to return per page based on pagination settings.","in":"query","required":false,"type":"number"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllSimCardOrdersResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"post":{"summary":"Create a SIM card order","description":"Creates a new order for SIM cards.","operationId":"SimCardOrdersPost","produces":["application/json"],"tags":["SIM Card Orders"],"parameters":[{"name":"sim_card_order","description":"SIM card order request","in":"body","required":true,"schema":{"$ref":"#/definitions/SimCardOrderRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/PostSimCardOrdersResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/sim_card_orders/{id}":{"get":{"summary":"Get SIM card order","description":"Returns the details regarding a specific SIM card.","operationId":"SimCardOrderGet","produces":["application/json"],"tags":["SIM Card Orders"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the SIM card order","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetSimCardOrderResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/sim_card_groups":{"post":{"summary":"Create SIM card group","description":"Creates a new SIM card group. The SIM card group name must be unique.","operationId":"SimCardGroupsPost","produces":["application/json"],"tags":["SIM Card Groups"],"parameters":[{"name":"create_sim_card_group","description":"Create SIM card payload","in":"body","required":true,"schema":{"$ref":"#/definitions/SimCardGroupCreateRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetSimCardGroupResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"get":{"summary":"Get all SIM card groups","description":"Returns a list of all your sim card groups","operationId":"SimCardGroupsGet","produces":["application/json"],"tags":["SIM Card Groups"],"parameters":[{"name":"include_sim_cards","description":"Specifies whether the SIM cards be included in the result payload.","in":"query","required":false,"type":"boolean"},{"name":"include_billing_plans","description":"Specifies whether the billing plans be included in the result payload.","in":"query","required":false,"type":"boolean"},{"name":"filter[sim_card_group_id]","description":"Filter SIM card groups to only the one that matches the provided ID.","in":"query","required":false,"type":"string","format":"uuid"},{"name":"filter[sim_card_group_name]","description":"Filter SIM card groups to only the ones that contains the provided search string.","in":"query","required":false,"type":"string"},{"name":"page[number]","description":"Current page based on pagination settings.","in":"query","required":false,"type":"number"},{"name":"page[size]","description":"Number of results to return per page based on pagination settings.","in":"query","required":false,"type":"number"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllSimCardGroupsResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/sim_card_groups/{id}":{"delete":{"summary":"Delete SIM card group","description":"If the provided SIM card group contains no SIM cards and is not the default SIM card group, it will be deleted.","operationId":"SimCardGroupDelete","produces":["application/json"],"tags":["SIM Card Groups"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the SIM card group","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetSimCardGroupResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"patch":{"summary":"Update SIM card group","description":"Updates a specific SIM card.","operationId":"SimCardGroupPatch","produces":["application/json"],"tags":["SIM Card Groups"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the SIM card group","required":true,"type":"string","format":"uuid"},{"name":"update_sim_card_group","description":"Update SIM card payload.","in":"body","required":true,"schema":{"$ref":"#/definitions/SimCardGroupUpdateRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetSimCardGroupResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"get":{"summary":"Get SIM card group","description":"Returns the details regarding a specific SIM card.","operationId":"SimCardGroupGet","produces":["application/json"],"tags":["SIM Card Groups"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the SIM card group","required":true,"type":"string","format":"uuid"},{"name":"include_sim_cards","description":"Specifies whether the SIM cards be included in the result payload.","in":"query","required":false,"type":"boolean"},{"name":"include_billing_plans","description":"Specifies whether the billing plans be included in the result payload.","in":"query","required":false,"type":"boolean"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetSimCardGroupResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/billing_plans":{"get":{"summary":"Get all billing plans","description":"Returns a list of all your billing plans","operationId":"BillingPlansGet","produces":["application/json"],"tags":["Billing Plans"],"parameters":[{"name":"include_sim_card_groups","description":"Specifies whether the SIM card groups be included in the result payload.","in":"query","required":false,"type":"boolean"},{"name":"filter[name]","description":"Filter billing plan based by name.","in":"query","required":false,"type":"string"},{"name":"filter[regions]","description":"Filter billing plans by supported regions.","in":"query","required":false,"type":"array","items":{"type":"string"}},{"name":"page[number]","description":"Current page based on pagination settings.","in":"query","required":false,"type":"number"},{"name":"page[size]","description":"Number of results to return per page based on pagination settings.","in":"query","required":false,"type":"number"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetAllBillingPlansResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"post":{"summary":"Create billing plan","description":"Creates a new billing plan. The billing plan name must be unique.","operationId":"BillingPlanPost","produces":["application/json"],"tags":["Billing Plans"],"parameters":[{"name":"create_billing_plan","description":"Create billing plan","in":"body","required":true,"schema":{"$ref":"#/definitions/BillingPlanCreateRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetBillingPlanResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/wireless/billing_plans/{id}":{"get":{"summary":"Get billing plan","description":"Returns the details regarding a specific SIM card.","operationId":"BillingPlanGet","produces":["application/json"],"tags":["Billing Plans"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the billing plan","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetBillingPlanResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"patch":{"summary":"Update billing plan","description":"Updates a specific billing plan.","operationId":"BillingPlanPatch","produces":["application/json"],"tags":["Billing Plans"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the billing plan","required":true,"type":"string","format":"uuid"},{"name":"billing_plan_details","description":"Billing plan update request","in":"body","required":true,"schema":{"$ref":"#/definitions/BillingPlanPatchRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetBillingPlanResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}},"delete":{"summary":"Delete billing plan","description":"If the provided billing plan is not the default billing plan and is not associated with any SIM card groups, it will be deleted.","operationId":"BillingPlanDelete","produces":["application/json"],"tags":["Billing Plans"],"parameters":[{"name":"id","in":"path","description":"The unique identifier of the billing plan","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/GetBillingPlanResponse"}},"401":{"description":"Authentication error","schema":{"$ref":"#/definitions/StructuredError"}},"403":{"description":"Authorization error","schema":{"$ref":"#/definitions/StructuredError"}}}}},"/conferences":{"post":{"summary":"Create a conference","description":"Creates a conference on demand from an existing call leg using a call_control_id and a conference name. Upon creating the conference, the call will be automatically bridged to the conference. Conferences will expire after all participants have left the conference or after 4 hours regardless of the number of active participants.","operationId":"CreateConference","produces":["application/json"],"tags":["Conference Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateConferenceRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"properties":{"data":{"$ref":"#/definitions/ConferenceResponse"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by improper use of filters or nodes."}}},"get":{"description":"Lists conferences belonging to the user. Conferences are created on demand, and will expire after all participants have left the conference or after 4 hours regardless of the number of active participants.","summary":"List all conferences","operationId":"GetConferences","produces":["application/json"],"tags":["Conference Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"name","in":"query","description":"If present, conferences will be filtered to those with a matching `name` attribute. Matching is case-sensitive","type":"string"},{"name":"page[page]","in":"query","description":"Page number of results to load","type":"integer","default":1},{"name":"page[page_size]","in":"query","description":"Number of results per page","type":"integer","default":20,"maximum":1000}],"responses":{"200":{"description":"Conference response","schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/ConferenceResponse"}},"meta":{"$ref":"#/definitions/Metadata"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by improper use of filters or nodes."}}}},"/conferences/{id}/actions/join":{"post":{"summary":"Join a conference","description":"Joins an existing call_leg to a conference. Issue the Join Conference command with the conference ID in the path and the call_control_id of the leg you wish to join to the conference as an attribute.","operationId":"JoinConference","produces":["application/json"],"tags":["Conference Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"Unique identifier of the conference","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/JoinConferenceRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/ConferenceCommandResponse"}},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by improper use of filters or nodes."}}}},"/conferences/{id}/actions/mute":{"post":{"summary":"Mute a conference participant","description":"Mute a list of participants in a conference call","operationId":"MuteConference","produces":["application/json"],"tags":["Conference Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"Unique identifier of the conference","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ConferenceMuteRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/ConferenceCommandResponse"}},"404":{"description":"Conference does not exist"},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by improper use of filters or nodes."}}}},"/conferences/{id}/actions/unmute":{"post":{"summary":"Unmute a conference participant","description":"Unmute a list of participants in a conference call","operationId":"UnmuteConference","produces":["application/json"],"tags":["Conference Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"Unique identifier of the conference","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ConferenceMuteRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/ConferenceCommandResponse"}},"404":{"description":"Conference does not exist"},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by improper use of filters or nodes."}}}},"/conferences/{id}/actions/hold":{"post":{"summary":"Hold a conference participant","description":"Hold a list of participants in a conference call","operationId":"HoldConference","produces":["application/json"],"tags":["Conference Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"Unique identifier of the conference","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ConferenceHoldRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/ConferenceCommandResponse"}},"404":{"description":"Conference does not exist"},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by improper use of filters or nodes."}}}},"/conferences/{id}/actions/unhold":{"post":{"summary":"Unhold a conference participant","description":"Unhold a list of participants in a conference call","operationId":"UnholdConference","produces":["application/json"],"tags":["Conference Commands"],"security":[{"basicAuth":[]},{"bearerAuth":[]}],"parameters":[{"name":"id","description":"Unique identifier of the conference","in":"path","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ConferenceUnholdRequest"}}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/ConferenceCommandResponse"}},"404":{"description":"Conference does not exist"},"401":{"description":"Unauthorized"},"422":{"description":"Unprocessable entity. Can be caused by improper use of filters or nodes."}}}}},"definitions":{"Connection":{"required":["connection_name"],"properties":{"connection_name":{"type":"string"},"active":{"type":"boolean","description":"Defaults to true","default":true},"dnis_number_format":{"type":"integer","description":"0 = E.164\u003cbr/\u003e 1 = Strip-1\u003cbr/\u003e 2 = Strip-2\n","default":1},"timeout_1xx":{"type":"string","description":"Time(sec) before aborting if connection is not made (min: 1, max: 20).\n","default":"3"},"timeout_2xx":{"type":"string","description":"Time(sec) before aborting if call is unanswered (min: 1, max: 600).\n","default":"90"},"ani_override_type":{"type":"string","enum":["always","normal","emergency"],"description":"Specifies when we apply your ani_override setting. Only applies when ani_override is not blank.\n","default":"always"},"ani_override":{"type":"string","description":"Set a phone number as the ani_override value to override caller id number on outbound calls.\n","default":""},"sip_compact_headers_enabled":{"type":"boolean","description":"Defaults to true.","default":true},"transport_protocol":{"type":"string","description":"One of UDP, TLS, or TCP. Applies only to connections with IP authentication or FQDN authentication.\n","default":"UDP"},"third_party_control_enabled":{"type":"boolean","description":"Applies to calls sent TO this connection.","default":false},"privacy_zone_enabled":{"type":"boolean","description":"By default, Telnyx does not send caller-id information when the caller has chosen\n                             to hide this information. When this option is enabled, Telnyx will send the SIP\n                             header Privacy:id plus the caller-id information so that the receiver side can\n                             choose when to hide it.","default":false},"codecs":{"type":"array","items":{"type":"string"},"description":"Defines the list of codecs that Telnyx will send for inbound calls to a specific number on your portal account, in priority order. This only works when the Connection the number is assigned to uses Media Handling mode: default. OPUS and H.264 codecs are available only when using TCP or TLS transport for SIP.\n","default":["G722","G711U","G711A","G729","OPUS","H.264"]},"prack_enabled":{"type":"boolean","description":"Enable PRACK messages as defined in RFC3262.","default":false},"default_routing_method":{"type":"string","enum":["sequential","round-robin"],"description":"Default routing method to be used when a number is associated with the connection. Must be one of the routing method types or left blank, other values are not allowed.\n"},"default_primary_authorized_ip_id":{"type":"integer","description":"The default primary IP to use for the number. Only settable if the connection is\n            of IP authentication type. Value must be the ID of an authorized IP set on the connection."},"default_secondary_authorized_ip_id":{"type":"integer","description":"The default secondary IP to use for the number. Only settable if the connection is\n            of IP authentication type. Value must be the ID of an authorized IP set on the connection."},"default_tertiary_authorized_ip_id":{"type":"integer","description":"The default tertiary IP to use for the number. Only settable if the connection is\n            of IP authentication type. Value must be the ID of an authorized IP set on the connection."},"anchorsite_override":{"type":"string","enum":["Latency","Chicago, IL","Ashburn, VA","San Jose, CA","Sydney, Australia","Amsterdam, Netherlands","London, UK","Toronto, Canada","Vancouver, Canada"],"description":"`Latency` directs Telnyx to route media through the site with the lowest round-trip time to the user's connection. Telnyx calculates this time using ICMP ping messages. This can be disabled by specifying a site to handle all media.\n"},"encrypted_media":{"type":"string","enum":["SRTP","ZRTP"],"description":"Enable use of SRTP or ZRTP for encryption. Valid values are those listed or null. Cannot be set to non-null if the transport_portocol is TLS.\n"},"instant_ringback_enabled":{"type":"boolean","default":true,"description":"When set, ringback will not wait for indication before sending ringback tone to calling party.\n"},"t38_reinvite_source":{"type":"string","enum":["telnyx","customer","disabled","passthru","caller-passthru","callee-passthru"],"description":"This setting only affects connections with Fax-type Outbound Profiles. The setting dictates whether or not Telnyx sends a t.38 reinvite.\u003cbr/\u003e\u003cbr/\u003e By default, Telnyx will send the re-invite. If set to `customer`, the caller is expected to send the t.38 reinvite.\n","default":"telnyx"},"ani_number_format":{"type":"string","enum":["+E.164","E.164","+E.164-national","E.164-national"],"default":"E.164-national","description":"0 = E.164\u003cbr/\u003e 1 = Strip-1\u003cbr/\u003e 2 = Strip-2\n"},"isup_headers_enabled":{"type":"boolean","enum":[true,false],"default":false,"description":"When set, inbound phone calls will receive ISUP parameters via SIP headers. (Only when available and only when using TCP or TLS transport.)\n"},"encode_contact_header_enabled":{"type":"boolean","enum":[true,false],"default":false,"description":"Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios.\n"},"inbound_generate_ringback_tone":{"type":"boolean","enum":[true,false],"default":false,"description":"Generate ringback tone through 183 session progress message with early media.\n"},"outbound_generate_ringback_tone":{"type":"boolean","enum":[true,false],"default":false,"description":"Generate ringback tone through 183 session progress message with early media.\n"},"rtcp_report_enabled":{"type":"boolean","default":true,"description":"DEPRECATED - RTCP reports are always sent to customers/vendors.\n              For backwards compatibility, the value is always true"},"rtcp_report_frequency_seconds":{"type":"integer","default":5,"description":"RTCP reports are sent to customers based on the frequency set. Frequency is in seconds\n              and it can be set to values from 5 to 3000 seconds. The default is 10 seconds."},"rtcp_port":{"enum":["rtcp-mux","rtp+1"],"default":"rtp+1","description":"RTCP port by default is rtp+1, it can also be set to rtcp-mux"},"dtmf_type":{"type":"string","enum":["RFC 2833","Inband","SIP INFO"],"default":"RFC 2833","description":"Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF digits sent to Telnyx will be accepted in all formats.\n"},"outbound_localization":{"type":"string","default":null,"description":"A 2-character country code specifying the country whose national dialing rules should be used. For example, if set to `US` then any US number can be dialed without preprending +1 to the number. When left blank, Telnyx will try US and GB dialing rules, in that order, by default.\n"},"inbound_channel_limit":{"type":"integer","default":null,"description":"When set, this will limit the total number of inbound calls to phone numbers associated with this connection.\n"},"outbound_channel_limit":{"type":"integer","default":null,"description":"When set, this will limit the total number of outbound calls to phone numbers associated with this connection.\n"},"onnet_t38_passthrough_enabled":{"type":"integer","default":false,"description":"Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings.\n"},"sip_region":{"type":"string","default":"US","description":"Selects which `sip_region` to receive inbound calls from. If null, the default region (US) will be used.\n","enum":["US","Europe","Australia"]},"sip_uri_calling_preference":{"type":"string","default":"disabled","description":"This feature enables inbound SIP URI calls to your Credential Auth Connection. If enabled for all (unrestricted) then anyone who calls the SIP URI \u003cyour-username\u003e@telnyx.com will be connected to your Connection. You can also choose to allow only calls that are originated on any Connections under your account (internal).\n","enum":["disabled","unrestricted","internal"]},"sip_subdomain":{"type":"string","description":"Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.\n"},"sip_subdomain_receive_settings":{"type":"string","description":"This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).\n","enum":["only_my_connections","from_anyone"]},"outbound_call_parking_enabled":{"type":"boolean","default":false,"description":"Forces all SIP calls originated on this connection to be \"parked\" instead of \"bridged\" to the destination specified on the URI. Parked calls will return ringback to the caller and will await for a Call Control command to define which action will be taken next.\n"},"webhook_api_version":{"type":"string","default":"1","description":"Determines which webhook format will be used, Telnyx API v1, v2, or a legacy 2010-04-01 format.","enum":["1","2"]}}},"ConnectionResponse":{"required":["id","connection_name","tech_prefix","authentication_type","active","dnis_number_format","timeout_1xx","timeout_2xx","forward_only","sip_compact_headers_enabled","transport_protocol","third_party_control_enabled","privacy_zone_enabled","codecs","encrypted_media"],"properties":{"id":{"type":"string"},"connection_name":{"type":"string"},"tech_prefix":{"type":"string","description":"Numerical chars only, exactly 4 characters.","default":""},"authentication_type":{"type":"integer","description":"Unspecified = 1, IP Auth = 2, Credential Auth = 3","default":1},"active":{"type":"boolean","description":"Defaults to true"},"dnis_number_format":{"type":"integer","description":"0 = E.164\u003cbr/\u003e 1 = Strip-1\u003cbr/\u003e 2 = Strip-2\n","default":1},"timeout_1xx":{"type":"string","description":"Time(sec) before aborting if connection is not made (min: 1, max: 20).\n","default":""},"timeout_2xx":{"type":"string","description":"Time(sec) before aborting if call is unanswered (min: 1, max: 600).\n","default":""},"forward_only":{"type":"boolean","description":"Every Telnyx user automatically gets and only one forward-only connection. This \\\n                             is useful for setting up call forwarding on Telnyx numbers.","default":false},"ani_override_type":{"type":"string","enum":["always","normal","emergency"],"description":"Specifies when we apply your ani_override setting. Only applies when ani_override is not blank.\n","default":"always"},"ani_override":{"type":"string","description":"Set a phone number as the ani_override value to override caller id number on outbound calls.\n","default":""},"registration_status":{"type":"integer","description":"0 = Not Applicable\u003cbr/\u003e 1 = Not Registered\u003cbr/\u003e 2 = Failed\u003cbr/\u003e 3 = Expired\u003cbr/\u003e 4 = Success\u003cbr/\u003e 5 = Unregistered\n","default":0},"last_registered_ip":{"description":"IP from the last successful registration attempt.","type":"string"},"registration_status_updated_at":{"type":"string"},"sip_compact_headers_enabled":{"type":"boolean","description":"Defaults to true.","default":true},"transport_protocol":{"type":"string","description":"One of UDP, TLS, or TCP. Applies only to connections with IP authentication or FQDN authentication.\n","default":"UDP"},"third_party_control_enabled":{"type":"boolean","description":"Applies to calls sent TO this connection.","default":false},"privacy_zone_enabled":{"type":"boolean","description":"By default, Telnyx does not send caller-id information when the caller has chosen to hide this information. When this option is enabled, Telnyx will send the SIP header Privacy:id plus the caller-id information so that the receiver side can choose when to hide it.\n","default":false},"codecs":{"type":"array","items":{"type":"string"},"description":"Defines the list of codecs that Telnyx will send for inbound calls to a specific number on your portal account, in priority order. This only works when the Connection the number is assigned to uses Media Handling mode: default. OPUS and H.264 codecs are available only when using TCP or TLS transport for SIP.\n","default":["G722","G711U","G711A","G729","OPUS","H.264"]},"prack_enabled":{"type":"boolean","description":"Enable PRACK messages as defined in RFC3262.","default":false},"default_routing_method":{"type":"string","enum":["sequential","round-robin"],"description":"Default routing method to be used when a number is associated with the connection. Must be one of the routing method types or left blank, other values are not allowed.\n"},"default_primary_authorized_ip_id":{"type":"integer","description":"The default primary IP to use for the number. Only settable if the connection is\n            of IP authentication type. Value must be the ID of an authorized IP set on the connection."},"default_secondary_authorized_ip_id":{"type":"integer","description":"The default secondary IP to use for the number. Only settable if the connection is\n            of IP authentication type. Value must be the ID of an authorized IP set on the connection."},"default_tertiary_authorized_ip_id":{"type":"integer","description":"The default tertiary IP to use for the number. Only settable if the connection is\n            of IP authentication type. Value must be the ID of an authorized IP set on the connection."},"anchorsite_override":{"type":"string","enum":["Latency","Chicago, IL","Ashburn, VA","San Jose, CA","Sydney, Australia","Amsterdam, Netherlands","London, UK","Toronto, Canada","Vancouver, Canada"],"description":"`Latency` directs Telnyx to route media through the site with the lowest round-trip time to the user's connection. Telnyx calculates this time using ICMP ping messages. This can be disabled by specifying a site to handle all media.\n"},"encrypted_media":{"type":"string","enum":["SRTP","ZRTP"],"description":"Enable use of SRTP or ZRTP for encryption. Valid values are those listed or null. Cannot be set to non-null if the transport_portocol is TLS.\n"},"call_failure_check_enabled":{"type":"boolean","default":false,"description":"Disable connection IPs temporarily after call timeout or rejection"},"instant_ringback_enabled":{"type":"boolean","default":true,"description":"When set, ringback will not wait for indication before sending ringback tone to calling party.\n"},"t38_reinvite_source":{"type":"string","enum":["telnyx","customer","disabled","passthru","caller-passthru","callee-passthru"],"description":"This setting only affects connections with Fax-type Outbound Profiles. The setting dictates whether or not Telnyx sends a t.38 reinvite.\u003cbr/\u003e\u003cbr/\u003e By default, Telnyx will send the re-invite. If set to `customer`, the caller is expected to send the t.38 reinvite.\n","default":"telnyx"},"ani_number_format":{"type":"string","enum":["+E.164","E.164","+E.164-national","E.164-national"],"default":"E.164-national","description":"This setting allows you to set the format with which the caller's number (ANI) is sent for inbound phone calls.\n"},"isup_headers_enabled":{"type":"boolean","enum":[true,false],"default":false,"description":"When set, inbound phone calls will receive ISUP parameters via SIP headers. (Only when available and only when using TCP or TLS transport.)\n"},"encode_contact_header_enabled":{"type":"boolean","enum":[true,false],"default":false,"description":"Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios.\n"},"inbound_generate_ringback_tone":{"type":"boolean","enum":[true,false],"default":false,"description":"Generate ringback tone through 183 session progress message with early media.\n"},"outbound_generate_ringback_tone":{"type":"boolean","enum":[true,false],"default":false,"description":"Generate ringback tone through 183 session progress message with early media.\n"},"rtcp_report_enabled":{"type":"boolean","default":true,"description":"DEPRECATED - RTCP reports are always sent to customers/vendors. For backwards compatibility, the value is always true.\n"},"rtcp_report_frequency_seconds":{"type":"integer","default":10,"description":"RTCP reports are sent to customers based on the frequency set. Frequency is in seconds and it can be set to values from 5 to 3000 seconds.\n"},"rtcp_port":{"enum":["rtcp-mux","rtp+1"],"default":"rtp+1","description":"RTCP port by default is rtp+1, it can also be set to rtcp-mux"},"dtmf_type":{"type":"string","enum":["RFC 2833","Inband","SIP INFO"],"default":"RFC 2833","description":"Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF digits sent to Telnyx will be accepted in all formats.\n"},"outbound_localization":{"type":"string","default":null,"description":"A 2-character country code specifying the country whose national dialing rules should be used. For example, if set to `US` then any US number can be dialed without preprending +1 to the number. When left blank, Telnyx will try US and GB dialing rules, in that order, by default.\n"},"inbound_channel_limit":{"type":"integer","default":null,"description":"When set, this will limit the total number of inbound calls to phone numbers associated with this connection.\n"},"outbound_channel_limit":{"type":"integer","default":null,"description":"When set, this will limit the total number of outbound calls to phone numbers associated with this connection.\n"},"onnet_t38_passthrough_enabled":{"type":"integer","default":false,"description":"Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings.\n"},"sip_region":{"type":"string","default":"US","description":"Selects which `sip_region` to receive inbound calls from. If null, the default region (US) will be used.","enum":["US","Europe","Australia"]},"sip_uri_calling_preference":{"type":"string","default":"disabled","description":"This feature enables inbound SIP URI calls to your Credential Auth Connection. If enabled for all (unrestricted) then anyone who calls the SIP URI \u003cyour-username\u003e@telnyx.com will be connected to your Connection. You can also choose to allow only calls that are originated on any Connections under your account (internal).\n","enum":["disabled","unrestricted","internal"]},"sip_subdomain":{"type":"string","description":"Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain \"example.sip.telnyx.com\" can be called from any SIP endpoint by using the SIP URI \"sip:@example.sip.telnyx.com\" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.\n"},"sip_subdomain_receive_settings":{"type":"string","description":"This option can be enabled to receive calls from: \"Anyone\" (any SIP endpoint in the public Internet) or \"Only my connections\" (any connection assigned to the same Telnyx user).\n","enum":["only_my_connections","from_anyone"]},"webhook_api_version":{"type":"string","default":"1","description":"Determines which webhook format will be used, Telnyx API v1, v2, or a legacy 2010-04-01 format.","enum":["1","2"]}}},"ConnectionDeleteResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"}}},"IpAuthenticationResponse":{"required":["success","message","ip_authentication_method"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"},"ip_authentication_method":{"type":"string","enum":["tech-prefix","token","p-charge-info"],"default":"tech-prefix","description":"The method of IP authentication to use along with the connection.\n            Defaults to tech-prefix."}}},"IpAuthenticationDetails":{"required":["ip_authentication_method"],"properties":{"ip_authentication_method":{"type":"string","enum":["tech-prefix","token","p-charge-info"],"default":"tech-prefix","description":"The method of IP authentication to use along with the connection.\n            Defaults to tech-prefix."},"webhook_url":{"type":"string","description":"URL to which Telnyx will deliver your Call Control webhooks"},"failover_url":{"type":"string","description":"URL to which Telnyx will deliver your Call Control webhooks if we get an error response from your webhook_url"}}},"CredentialAuthenticationResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"},"reasons":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"CredentialAuthenticationDetails":{"required":["user_name","password"],"properties":{"user_name":{"type":"string","description":"user_name that will be sent when using the connection. Must be globally unique.\n            Case-insensitive."},"password":{"type":"string","description":"password that will be sent when using the connection. Must be at least 8\n           characters or more in length."},"webhook_url":{"type":"string","description":"URL to which Telnyx will deliver your Call Control webhooks"},"failover_url":{"type":"string","description":"URL to which Telnyx will deliver your Call Control webhooks if we get an error response from your webhook_url"}}},"CredentialAuthenticationSuggestionResponse":{"required":["user_name","password"],"properties":{"user_name":{"type":"string"},"password":{"type":"string"}}},"FqdnAuthenticationResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"},"reasons":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"FqdnAuthenticationDetails":{"required":["user_name","password"],"properties":{"user_name":{"type":"string","description":"user_name that will be sent when using the connection. Must be globally unique\n            among all connections, not just FQDN authentication connections. Case-insensitive."},"password":{"type":"string","description":"password that will be sent when using the connection. Must be at least 8\n           characters or more in length."},"ip_authentication_method":{"description":"The method of authentication to use if this FQDN auth strategy uses IP-based\n            outbound. Defaults to \"tech-prefix\". Has no effect if this auth strategy uses credentials for\n            outbound authentication.","type":"string","enum":["tech-prefix","token","p-charge-info"],"default":"tech-prefix"},"fqdn_outbound_authentication":{"description":"The method of authentication to use for outbound calls on this authentication\n            strategy. Defaults to \"credential-authentication\".","type":"string","enum":["credential-authentication","ip-authentication"],"default":"credential-authentication"},"webhook_url":{"type":"string","description":"URL to which Telnyx will deliver your Call Control webhooks"},"failover_url":{"type":"string","description":"URL to which Telnyx will deliver your Call Control webhooks if we get an error response from your webhook_url"}}},"FqdnAuthenticationSuggestionResponse":{"required":["user_name","password"],"properties":{"user_name":{"type":"string"},"password":{"type":"string"},"ip_authentication_method":{"description":"The method of authentication to use if this FQDN auth strategy uses IP-based\n            outbound. Defaults to \"tech-prefix\". Has no effect if this auth strategy uses credentials for\n            outbound authentication.","type":"string","enum":["tech-prefix","token","p-charge-info"],"default":"tech-prefix"},"fqdn_outbound_authentication":{"description":"The method of authentication to use for outbound calls on this authentication\n            strategy. Defaults to \"credential-authentication\".","type":"string","enum":["credential-authentication","ip-authentication"],"default":"credential-authentication"}}},"E911Address":{"required":["line_1","city","state","postal_code"],"properties":{"first_name":{"type":"string","example":"John","description":"Required if business name not given"},"last_name":{"type":"string","example":"Doe","description":"Required if business name not given"},"business_name":{"type":"string","example":"MyCo, Inc","description":"Required if personal name not given"},"line_1":{"type":"string","example":"123 Main St","description":"Address first line"},"line_2":{"type":"string","example":"Apt 1","description":"Address second line"},"city":{"type":"string","example":"Chicago"},"state":{"example":"IL","type":"string"},"postal_code":{"example":"60654","type":"string"}}},"E911AddressResponse":{"required":["id","first_name","last_name","business_name","line_1","line_2","city","state","postal_code","status"],"properties":{"id":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"business_name":{"type":"string"},"line_1":{"type":"string"},"line_2":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postal_code":{"type":"string"},"status":{"type":"string","default":"success"}}},"E911AddressGetResponse":{"required":["id","first_name","last_name","business_name","line_1","line_2","city","state","postal_code"],"properties":{"id":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"business_name":{"type":"string"},"line_1":{"type":"string"},"line_2":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"postal_code":{"type":"string"}}},"E911AddressDeleteResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"}}},"NumberSearch":{"required":["search_type","search_descriptor"],"properties":{"search_type":{"type":"integer","description":"NPA/NXX = 1, Region = 2, Tollfree = 3, Advanced = 4"},"search_descriptor":{"type":"object"},"limit":{"type":"integer"}}},"NumberSearchResponse":{"required":["id","search_type","limit","search_descriptor","status","any_best_effort","result"],"properties":{"id":{"type":"string"},"search_type":{"type":"integer","default":1,"description":"NPA/NXX = 1, Region = 2, Tollfree = 3, Advanced = 4"},"limit":{"type":"integer","default":10},"search_descriptor":{"type":"object"},"status":{"type":"integer","description":"Pending = 1, Complete = 2","default":1},"any_best_effort":{"type":"boolean","description":"Indicator of whether there are any best effort matches present or not","default":false},"result":{"type":"array","items":{"type":"object"}}}},"NumberOrderCreate":{"properties":{"requested_numbers_with_metadata":{"type":"array","items":{"type":"object"}},"requested_inexplicit_numbers":{"type":"array","items":{"type":"object"}},"requested_numbers":{"type":"array","items":{"type":"string"}},"connection_id":{"type":"string","description":"ID of connection to be associated with phone numbers in the order."},"messaging_profile_id":{"type":"string","description":"ID of messaging profile to be associated with phone numbers in the order."}}},"NumberOrder":{"type":"object","title":"Number Order","properties":{"order_request_id":{"type":"string","description":"uuid.","example":"7e610e23-d1f2-4f90-b5b7-3ddd7b32ad7c"},"numbers_count":{"type":"number","description":"Count of requested numbers associated to the order.","example":1,"format":"double"},"date_created":{"type":"string","description":"Timestamp of resource creation.","example":"2018-02-08T18:49:22.998023Z"},"date_due":{"type":"string","description":"Timestamp of due date for requirements if needed to be met.","example":"2018-02-08T18:49:22.998023Z"},"requirements_met":{"type":"boolean","description":"True if all requirements are met for every phone number, false otherwise."},"requested_numbers":{"type":"array","items":{"$ref":"#/definitions/RequestedNumber"}},"requested_inexplicit_numbers":{"type":"array","items":{"$ref":"#/definitions/RequestedInexplicitNumbers"}},"connection_id":{"type":"string","description":"ID of connection associated to phone numbers in the order."}}},"RequestedNumber":{"type":"object","title":"Requested Number","properties":{"number":{"type":"string","description":"phone number."},"status":{"type":"string","description":"Status of the requested number: pending, success, failure.","example":"success"},"allocated":{"type":"boolean","description":"True if successfully purchased, false otherwise."},"customer_name":{"type":"string","description":"The value of the `customer_name` requirement if provided at the time of purchase."},"customer_phone":{"type":"string","description":"The value of the `customer_phone` requirement if provided at the time of purchase."},"tax_id":{"type":"string","description":"The value of the `tax_id` requirement if provided at the time of purchase."},"requirements_met":{"type":"boolean","description":"True if all requirements are met for a phone number, false otherwise."},"requirements":{"type":"array","items":{"type":"object"}},"provided_documents":{"$ref":"#/definitions/ProvidedDocuments"}}},"RequestedInexplicitNumbers":{"type":"object","title":"Requested Inexplicit Numbers","properties":{"region_name":{"type":"string"},"region_type":{"type":"string"},"national_destination_code":{"type":"string"},"country_iso":{"type":"string"},"quantity":{"type":"number"},"allocated_telephone_numbers":{"type":"array","description":"List of phone numbers that have been allocated so far.","items":{"type":"string"}},"customer_name":{"type":"string","description":"The value of the `customer_name` requirement if provided at the time of purchase."},"customer_phone":{"type":"string","description":"The value of the `customer_phone` requirement if provided at the time of purchase."},"tax_id":{"type":"string","description":"The value of the `tax_id` requirement if provided at the time of purchase."},"requirements_met":{"type":"boolean","description":"True if all requirements are met, false otherwise."},"requirements":{"type":"array","items":{"type":"object"}},"provided_documents":{"$ref":"#/definitions/ProvidedDocuments"}}},"ProvidedDocuments":{"type":"object","title":"Provided Documents.","properties":{"address_proof_file_ids":{"type":"array","description":"List of Number Document ids.","items":{"type":"string"}},"identification_file_ids":{"type":"array","description":"List of Number Document ids.","items":{"type":"string"}},"reg_form_file_ids":{"type":"array","description":"List of Number Document ids.","items":{"type":"string"}}}},"Number":{"properties":{"connection_id":{"type":"string"},"enable_tech_prefix":{"type":"boolean","default":false},"translated_number":{"type":"string"},"forwards_to":{"type":"string","description":"the number that this number should be forwarded to; when this is set,\n            forwarding_type must also be set"},"forwarding_type":{"type":"string","description":"sets when this number should have its calls forwarded;\n            valid values are 'always' and 'on-failure'"},"enable_caller_id_name":{"type":"boolean","default":false,"description":"if true, enables sending of CNAM information for incoming calls to the number"},"usage_payment_method":{"type":"string","enum":["pay-per-minute","channel"],"default":"pay-per_minute","description":"setting for whether a number is billed per minute or uses your concurrent channels"},"enable_rtp_auto_adjust":{"type":"boolean","default":true,"description":"When RTP Auto-Adjust is enabled, the destination RTP address port will be\n            automatically changed to match the source of the incoming RTP packets."},"cnam_listing_enabled":{"type":"boolean","default":false,"description":"Enable CNAM listings for this number. Requires cnam_listing_details to also\n            be filled in."},"cnam_listing_details":{"type":"string","description":"The CNAM listing details for this number. Must be alphanumeric characters\n            or spaces with a maximum length of 15. Requires cnam_listing_enabled to also\n            be set."},"external_pin":{"type":"string","description":"External PINs are used to ensure that phone numbers on your account cannot\n          be ported to another carrier without your consent. This has an account level default, that may\n          be overriden per phone number. External PINs must be 4 numeric digits ('3456')."},"t38_fax_gateway_enabled":{"type":"boolean","default":false},"accept_any_rtp_packets_enabled":{"type":"boolean","default":false},"tag_list":{"type":"array","items":{"type":"string"}},"inbound_call_recording_enabled":{"type":"boolean","default":false,"description":"When enabled, any inbound call to this number will be recorded."},"inbound_call_recording_format":{"type":"string","enum":["wav","mp3"],"default":"wav","description":"The audio file format for calls being recorded."},"inbound_call_recording_channels":{"type":"string","enum":["single","dual"],"default":"single","description":"When using 'dual' channels, final audio file will be stereo recorded with the first leg on channel A, and the rest on channel B."},"billing_group_id":{"type":"string","description":"The ID of the Billing Group to which the number is assigned. Defaults to null (for no group assigned)."}}},"NumberResponse":{"required":["id","connection_id","number_val","number_val_e164","ignore_tech_prefix","enable_tech_prefix","translated_number","forwards_to","forwarding_type","tag_list","status","purchase_failure_reason","enable_rtp_auto_adjust","usage_payment_method","cnam_listing_enabled","cnam_listing_details","inbound_call_recording_enabled","inbound_call_recording_format"],"properties":{"id":{"type":"string"},"connection_id":{"type":"string"},"number_val_e164":{"type":"string"},"ignore_tech_prefix":{"type":"boolean","description":"DEPRECATED - Use enable_tech_prefix on API requests","default":true},"enable_tech_prefix":{"type":"boolean","default":false},"translated_number":{"type":"string"},"forwards_to":{"type":"string","description":"the number that this number should be forwarded to; when this is set,\n            forwarding_type must also be set"},"forwarding_type":{"type":"string","description":"sets when this number should have its calls forwarded;\n            valid values are 'always' and 'on-failure'"},"tag_list":{"type":"array","items":{"type":"string"}},"status":{"type":"integer","default":1,"description":"Purchase Pending = 1, Purchase Failed = 2, Port Pending = 3, Active = 4, Deleted = 5, Port Failed = 6, Emergency Only = 7, Ported Out = 8, Port Out Pending = 9"},"purchase_failure_reason":{"type":"string","description":"reason(s) why the last attempt to purchase this number failed"},"e911_enabled":{"type":"boolean","default":false},"e911_address_id":{"type":"string"},"emergency_status":{"type":"string","enum":["disabled","active","provisioning","deprovisioning"],"default":"disabled"},"address_id":{"type":"string","description":"use this property to reference an Address record if required for a number record"},"usage_payment_method":{"type":"string","enum":["pay-per-minute","channel"],"default":"pay-per-minute","description":"setting for whether a number is billed per minute or uses your concurrent channels"},"enable_rtp_auto_adjust":{"type":"boolean","default":true,"description":"When RTP Auto-Adjust is enabled, the destination RTP address port will be\n            automatically changed to match the source of the incoming RTP packets."},"cnam_listing_enabled":{"type":"boolean","default":false,"description":"Enable CNAM listings for this number. Requires cnam_listing_details to also\n            be filled in."},"cnam_listing_details":{"type":"string","description":"The CNAM listing details for this number. Must be alphanumeric characters\n            or spaces with a maximum length of 15. Requires cnam_listing_enabled to also\n            be set."},"external_pin":{"type":"string","description":"External PINs are used to ensure that phone numbers on your account cannot\n          be ported to another carrier without your consent. This has an account level default but may\n          also be specified per phone number. External PINs must be 4 numeric digits ('3456')."},"t38_fax_gateway_enabled":{"type":"boolean","default":false},"accept_any_rtp_packets_enabled":{"type":"boolean","default":false},"number_val":{"type":"string","description":"DEPRECATION WARNING! Please use number_val_e164 or contact support@telnyx.com if you depend on this key."},"inbound_call_recording_enabled":{"type":"boolean","default":false,"description":"When enabled, any inbound call to this number will be recorded."},"inbound_call_recording_format":{"type":"string","enum":["wav","mp3"],"default":"wav","description":"The audio file format for calls being recorded."},"inbound_call_recording_channels":{"type":"string","enum":["single","dual"],"default":"single","description":"When using 'dual' channels, final audio file will be stereo recorded with the first leg on channel A, and the rest on channel B."},"billing_group_id":{"type":"string","description":"The ID of the Billing Group to which the number is assigned. Defaults to null (for no group assigned)."}}},"NumberE911Enable":{"required":["e911_enabled","e911_address_id"],"properties":{"e911_enabled":{"type":"boolean","default":true},"e911_address_id":{"type":"string"}}},"BulkNumberUpdateRequest":{"required":["ids_or_number_vals"],"properties":{"ids_or_number_vals":{"type":"array","items":{"type":"string"},"description":"Array of number ids and/or number values to update"},"connection_id":{"type":"string"},"forwards_to":{"type":"string"},"forwarding_type":{"type":"string","description":"sets when this number should have its calls forwarded;\n            valid values are 'always' and 'on-failure'"},"e911_enabled":{"type":"boolean"},"e911_address_id":{"type":"string"},"address_id":{"type":"string","description":"references an Address record"},"enable_tech_prefix":{"type":"boolean"},"translated_number":{"type":"string"},"usage_payment_method":{"type":"string","enum":["pay-per-minute","channel"],"default":"pay-per-minute","description":"setting for whether a number is billed per minute or uses your concurrent channels"},"enable_rtp_auto_adjust":{"type":"boolean","default":true,"description":"When RTP Auto-Adjust is enabled, the destination RTP address port will be\n            automatically changed to match the source of the incoming RTP packets."},"tag_list":{"type":"array","items":{"type":"string"}},"t38_fax_gateway_enabled":{"type":"boolean","default":false},"cnam_listing_enabled":{"type":"boolean","default":false,"description":"Enable CNAM listings for this number. Requires cnam_listing_details to also\n            be filled in."},"cnam_listing_details":{"type":"string","description":"The CNAM listing details for this number. Must be alphanumeric characters\n            or spaces with a maximum length of 15. Requires cnam_listing_enabled to also\n            be set."},"accept_any_rtp_packets_enabled":{"type":"boolean","default":false},"inbound_call_recording_enabled":{"type":"boolean","default":false,"description":"When enabled, any inbound call to this number will be recorded."},"inbound_call_recording_format":{"type":"string","enum":["wav","mp3"],"default":"wav","description":"The audio file format for calls being recorded."},"inbound_call_recording_channels":{"type":"string","enum":["single","dual"],"default":"single","description":"When using 'dual' channels, final audio file will be stereo recorded with the first leg on channel A, and the rest on channel B."}}},"BulkNumberUpdatePostResponse":{"required":["id","error_messages","status"],"properties":{"id":{"type":"string"},"status":{"type":"integer","description":"Pending = 1,\nComplete = 2,\nExpired = 3\n"},"error_messages":{"type":"array","items":{"type":"string"},"description":"Array of any specific errors encountered while updating each number in the request"}}},"BulkNumberUpdateRequestResponse":{"required":["id","ids_or_number_vals","error_messages","status"],"properties":{"id":{"type":"string"},"status":{"type":"integer","description":"Pending = 1,\nComplete = 2,\nExpired = 3\n"},"error_messages":{"type":"array","items":{"type":"string"},"description":"Array of any specific errors encountered while updating each number in the request"},"ids_or_number_vals":{"type":"array","items":{"type":"string"},"description":"Array of number ids and/or number values to update"},"connection_id":{"type":"integer"},"forwards_to":{"type":"string"},"e911_enabled":{"type":"boolean"},"e911_address_id":{"type":"string"},"address_id":{"type":"string","description":"references an Address record"},"enable_tech_prefix":{"type":"boolean"},"translated_number":{"type":"string"},"usage_payment_method":{"type":"string","enum":["pay-per-minute","channel"]},"enable_rtp_auto_adjust":{"type":"boolean","default":true,"description":"When RTP Auto-Adjust is enabled, the destination RTP address port will be\n            automatically changed to match the source of the incoming RTP packets."},"tag_list":{"type":"array","items":{"type":"string"}},"t38_fax_gateway_enabled":{"type":"boolean","default":false},"accept_any_rtp_packets_enabled":{"type":"boolean","default":false},"cnam_listing_enabled":{"type":"boolean","default":false,"description":"Enable CNAM listings for this number. Requires cnam_listing_details to also\n            be filled in."},"cnam_listing_details":{"type":"string","description":"The CNAM listing details for this number. Must be alphanumeric characters\n            or spaces with a maximum length of 15. Requires cnam_listing_enabled to also\n            be set."},"inbound_call_recording_enabled":{"type":"boolean","default":false,"description":"When enabled, any inbound call to this number will be recorded."},"inbound_call_recording_format":{"type":"string","enum":["wav","mp3"],"default":"wav","description":"The audio file format for calls being recorded."},"inbound_call_recording_channels":{"type":"string","enum":["single","dual"],"default":"single","description":"When using 'dual' channels, final audio file will be stereo recorded with the first leg on channel A, and the rest on channel B."},"external_pin":{"type":"string","description":"External PINs are used to ensure that phone numbers on your account cannot\n          be ported to another carrier without your consent. This has an account level default, that may\n          be overriden per phone number. External PINs must be 4 numeric digits ('3456')."}}},"NumberCsvDownloadRequest":{},"NumberCsvDownloadRequestResponse":{"required":["id","url","status"],"properties":{"id":{"type":"string"},"url":{"type":"string","description":"The URL where your CSV file will be uploaded shortly after we receive your request"},"status":{"type":"integer","description":"One of 'pending', 'complete', 'expired', or 'failed'"}}},"SupportedCountriesResponse":{"required":["country_code_iso3","country_code_iso2","country_name"],"properties":{"country_code_iso3":{"type":"string"},"country_code_iso2":{"type":"string"},"country_name":{"type":"string"}}},"NumberOrderDocumentsResponse":{"required":["id","filename","content_type","document_type","s3_link","errors"],"properties":{"id":{"type":"string"},"filename":{"type":"string"},"content_type":{"type":"string"},"document_type":{"type":"string"},"s3_link":{"type":"string"},"errors":{"type":"array","items":{"type":"string"}}}},"Endpoint":{"required":["connection_ids","traffic_type","service_plan"],"properties":{"connection_ids":{"type":"array","items":{"type":"string"}},"name":{"type":"string","description":"A user-supplied name to help with organization"},"traffic_type":{"type":"integer","description":"Conversational = 1, Short Duration = 2","enum":[1,2],"example":1,"default":1},"service_plan":{"type":"integer","description":"Indicates the coverage of the termination regions. International and Global are the same but International may only be used for high volume/short duration outbound profiles. 3 (EEA originated) has been retired and is now covered by Global. Possible values are: US = 1, International = 2, Global = 4","enum":[1,2,4],"example":4,"default":4},"active":{"type":"boolean","description":"Defaults to true"},"translation_rule":{"type":"string","description":"Only configure if advised by Telnyx support"},"cps_limit_increase":{"type":"integer"},"ports":{"type":"integer","description":"Must be no more than your concurrent call limit. Null means no limit."},"tag_list":{"type":"array","items":{"type":"string"}},"usage_payment_method":{"type":"string","description":"Setting for how costs for outbound profile are calculated.","enum":["tariff","rate-deck"],"example":"rate-deck","default":"rate-deck"},"whitelisted_destination_format":{"type":"string","enum":["alpha2","alpha3","iso_numeric"],"description":"Format of your whitelisted destinations."},"whitelisted_destinations":{"type":"array","items":{"type":"string"},"description":"The list of destinations you want to be able to call using this outbound\n            profile.","example":["US","BR","AU"],"default":["US","CA"]},"max_destination_rate":{"type":"number","format":"float","description":"Maximum rate at which you can make a call using this outbound profile"},"call_recording_type":{"type":"string","enum":["all","none","by_call_phone_number"],"description":"Defines how to filter which calls are recorded."},"call_recording_phone_numbers":{"type":"array","description":"When call_recording_type is set to `by_caller_phone_number`, only outbound calls using one of these numbers will be recorded. Numbers must be specified in E164 format.","items":{"type":"string"}},"call_recording_format":{"type":"string","enum":["wav","mp3"],"default":"wav","description":"The audio file format for calls being recorded."},"call_recording_channels":{"type":"string","enum":["single","dual"],"default":"single","description":"When using 'dual' channels, final audio file will be stereo recorded with the first leg on channel A, and the rest on channel B."},"daily_spend_limit":{"type":"string","description":"The maximum amount of usage charges, in USD, you want Telnyx to allow on this outbound profile in a day before disallowing new calls. Example: `100.00`."},"daily_spend_limit_enabled":{"type":"boolean","default":false,"description":"Specifies whether to enforce the daily_spend_limit on this outbound profile."},"billing_group_id":{"type":"string","description":"The ID of the billing group to which the outbound profile is assigned. Defaults to null (for no group assigned)."}}},"EndpointConnectionIds":{"required":["connection_ids"],"properties":{"connection_ids":{"type":"array","items":{"type":"string"}}}},"EndpointResponse":{"required":["id","user_id","connections","traffic_type","service_plan","cps_limit","ports","translation_rule","active","cps_limit_increase","tag_list","custom_rate_deck","rate_deck_url","call_recording_type","call_recording_phone_numbers","name","call_recording_format","call_recording_channels","daily_spend_limit","daily_spend_limit_enabled","billing_group_id"],"properties":{"id":{"type":"string"},"user_id":{"type":"string"},"connections":{"type":"array","items":{"type":"object"}},"name":{"type":"string","description":"A user-supplied name to help with organization","default":null},"traffic_type":{"type":"integer","description":"Conversational = 1, Short Duration = 2","enum":[1,2],"example":1,"default":1},"service_plan":{"type":"integer","description":"Indicates the coverage of the termination regions. International and Global are the same but International may only be used for high volume/short duration outbound profiles. 3 (EEA originated) has been retired and is now covered by Global. Possible values are: US = 1, International = 2, Global = 4","enum":[1,2,4],"example":4,"default":4},"cps_limit":{"type":"integer","default":100},"ports":{"type":"integer","description":"Must be no more than your concurrent call limit. Null means no limit."},"translation_rule":{"type":"string"},"active":{"type":"boolean","description":"Defaults to true","default":true},"cps_limit_increase":{"type":"integer"},"tag_list":{"type":"array","items":{"type":"string"}},"usage_payment_method":{"type":"string","enum":["tariff","rate-deck"],"example":"rate-deck","default":"rate-deck"},"custom_rate_deck":{"type":"boolean","default":false},"rate_deck_url":{"type":"string","description":"url to rate deck"},"whitelisted_destination_format":{"type":"string","enum":["alpha2","alpha3","iso_numeric"],"default":"alpha3","description":"Format of your whitelisted destinations."},"whitelisted_destinations":{"type":"array","items":{"type":"string"},"description":"The list of destinations you want to be able to call using this outbound\n            profile.","example":["US","BR","AU"],"default":["US","CA"]},"max_destination_rate":{"type":"number","format":"float","description":"Maximum rate at which you can make a call using this outbound profile"},"connection_id":{"type":"string","description":"To be deprecated, maintained for backward compatibility"},"call_recording_type":{"type":"string","enum":["all","none","by_call_phone_number"],"description":"Defines how to filter which calls are recorded."},"call_recording_phone_numbers":{"type":"array","items":{"type":"string"},"description":"When call_recording_type is set to `by_caller_phone_number`, only outbound calls using one of these numbers will be recorded. Numbers must be specified in E164 format."},"call_recording_format":{"type":"string","enum":["wav","mp3"],"default":"wav","description":"The audio file format for calls being recorded."},"call_recording_channels":{"type":"string","enum":["single","dual"],"default":"single","description":"When using 'dual' channels, final audio file will be stereo recorded with the first leg on channel A, and the rest on channel B."},"daily_spend_limit":{"type":"string","description":"The maximum amount of usage charges, in USD, you want Telnyx to allow on this outbound profile in a day before disallowing new calls. Example: `100.00`."},"daily_spend_limit_enabled":{"type":"boolean","default":false,"description":"Specifies whether to enforce the daily_spend_limit on this outbound profile."},"billing_group_id":{"type":"string","description":"The ID of the billing group to which the outbound profile is assigned. Defaults to null (for no group assigned)."}}},"EndpointDeleteResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"}}},"CdrRequest":{"required":["start_time"],"properties":{"start_time":{"type":"string","description":"UTC (2026-04-14T00:00:00+00:00)"},"end_time":{"type":"string","description":"UTC (2026-04-14T23:53:15+00:00). Must be less than 24 hours from now"},"call_types":{"type":"array","items":{"type":"integer"},"default":[1],"description":"Inbound = 1, Outbound = 2"},"record_types":{"type":"array","items":{"type":"integer"},"default":[1],"description":"Complete = 1, Incomplete = 2, Errors = 3"},"connections":{"type":"array","items":{"type":"string"},"description":"Array of connection IDs"},"report_name":{"type":"string"},"source":{"type":"string","description":"Specifies the source of the CDR. Can be either 'calls' or 'call-control'"},"filters":{"type":"array","items":{"type":"string"}}}},"CdrRequestResponse":{"required":["id","start_time","end_time","call_types","record_types","connections","report_name","status","report_url","created_at","updated_at","filters"],"properties":{"id":{"type":"string"},"start_time":{"type":"string","description":"UTC (2026-04-14T00:00:00+00:00)"},"end_time":{"type":"string","description":"UTC (2026-04-14T23:53:15+00:00)"},"call_types":{"type":"array","items":{"type":"integer"},"default":[1],"description":"Inbound = 1, Outbound = 2"},"record_types":{"type":"array","items":{"type":"integer"},"default":[1],"description":"Complete = 1, Incomplete = 2, Errors = 3"},"connections":{"type":"array","items":{"type":"string"},"description":"Array of connection IDs"},"report_name":{"type":"string"},"status":{"type":"integer","description":"Pending = 1, Complete = 2, Failed = 3, Expired = 4","default":1},"report_url":{"type":"string","description":"Link to report"},"filters":{"type":"string","description":"Search criteria"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"CdrRequestDeleteResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"}}},"MdrRequest":{"required":["start_time","connections","record_types","directions"],"properties":{"start_time":{"type":"string","description":"UTC (2026-04-14T00:00:00+00:00)"},"end_time":{"type":"string","description":"UTC (2026-04-14T23:53:15+00:00). If end time includes the last 4 hours, some MDRs might not appear in this report, due to wait time for downstream message delivery confirmation. You can also leverage the Messaging API for a near real-time status."},"call_types":{"type":"array","items":{"type":"integer"},"default":[1],"description":"Inbound = 1, Outbound = 2"},"record_types":{"type":"array","items":{"type":"integer"},"default":[1],"description":"Complete = 1, Incomplete = 2, Errors = 3"},"connections":{"type":"array","items":{"type":"string"},"default":[],"description":"Array of connection IDs"},"profiles":{"type":"array","items":{"type":"string"},"default":[],"description":"Array of profile IDs"},"report_name":{"type":"string"},"filters":{"type":"array","items":{"type":"string"}},"directions":{"type":"array","items":{"type":"string"},"default":[],"description":"Array of directions. Allowed directions: inbound, outbound"},"timezone":{"type":"string","default":"UTC","description":"Timezone for the start_time and end_time"}}},"MdrRequestResponse":{"required":["id","start_time","end_time","call_types","record_types","connections","report_name","status","report_url","created_at","updated_at","filters"],"properties":{"id":{"type":"string"},"start_time":{"type":"string","description":"UTC (2026-04-14T00:00:00+00:00)"},"end_time":{"type":"string","description":"UTC (2026-04-14T23:53:15+00:00)"},"call_types":{"type":"array","items":{"type":"integer"},"default":[1],"description":"Inbound = 1, Outbound = 2"},"record_types":{"type":"array","items":{"type":"integer"},"default":[1],"description":"Complete = 1, Incomplete = 2, Errors = 3"},"connections":{"type":"array","items":{"type":"string"},"description":"Array of connection IDs"},"report_name":{"type":"string"},"status":{"type":"integer","description":"Pending = 1, Complete = 2, Failed = 3, Expired = 4","default":1},"report_url":{"type":"string","description":"Link to report"},"filters":{"type":"string","description":"Search criteria"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"profiles":{"type":"string"}}},"MdrRequestDeleteResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"}}},"UsageReport":{"required":["start_time"],"properties":{"start_time":{"type":"string","description":"UTC (2026-04-14T00:00:00+00:00)"},"end_time":{"type":"string","description":"UTC (2026-04-14T23:53:15+00:00). Must be less than 24 hours from now"},"aggregation_type":{"type":"integer","description":"Aggregate: All = 0, By Connection = 1","default":0},"connections":{"type":"array","items":{"type":"string"},"description":"Array of connection IDs"}}},"UsageReportResponse":{"required":["id","start_time","end_time","connections","aggregation_type","status","report_url","result","created_at","updated_at"],"properties":{"id":{"type":"string"},"start_time":{"type":"string","description":"UTC (2026-04-14T00:00:00+00:00)"},"end_time":{"type":"string","description":"UTC (2026-04-14T23:53:15+00:00)"},"connections":{"type":"array","items":{"type":"string"},"description":"Array of connection IDs"},"aggregation_type":{"type":"integer","description":"Aggregate by: All = 0, By Connections = 1","default":0},"status":{"type":"integer","description":"Pending = 1, Complete = 2, Failed = 3, Expired = 4","default":1},"report_url":{"type":"string","description":"Link to report"},"result":{"type":"object","description":"Report results"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"UsageReportDeleteResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"}}},"MdrUsageReport":{"required":["start_time"],"properties":{"start_time":{"type":"string","description":"UTC (2026-04-14T00:00:00+00:00)"},"end_time":{"type":"string","description":"UTC (2026-04-14T23:53:15+00:00). Must be less than 24 hours from now"},"aggregation_type":{"type":"integer","description":"Aggregate: All = 0, By Profile = 1","default":0},"profiles":{"type":"array","items":{"type":"string"},"description":"Array of profile IDs"}}},"MdrUsageReportResponse":{"required":["id","start_time","end_time","connections","aggregation_type","status","report_url","result","created_at","updated_at"],"properties":{"id":{"type":"string"},"start_time":{"type":"string","description":"UTC (2026-04-14T00:00:00+00:00)"},"end_time":{"type":"string","description":"UTC (2026-04-14T23:53:15+00:00)"},"aggregation_type":{"type":"integer","description":"Aggregate by: All = 0, By Profile = 1","default":0},"status":{"type":"integer","description":"Pending = 1, Complete = 2, Failed = 3, Expired = 4","default":1},"report_url":{"type":"string","description":"Link to report"},"result":{"type":"object","description":"Report results"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"profiles":{"type":"array","items":{"type":"string"},"description":"Array of profile IDs"}}},"MdrUsageReportDeleteResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"}}},"TelcoDataUsageReportRequest":{"required":["start_date","end_date","aggregation_type"],"properties":{"start_date":{"type":"string","format":"date","example":"2026-04-12","description":"Start date in UTC, must be at most 31 days ago"},"end_date":{"type":"string","format":"date","example":"2026-04-14","description":"End date in UTC"},"aggregation_type":{"type":"string","example":"ALL","description":"ALL"}}},"TelcoDataUsageReportResponse":{"type":"object","properties":{"data":{"$ref":"#/definitions/TelcoDataUsageReport"}}},"TelcoDataUsageReport":{"properties":{"id":{"type":"string","description":"ID of the generated report"},"start_date":{"type":"string","description":"2026-04-12"},"end_date":{"type":"string","description":"2026-04-13"},"aggregation_type":{"type":"string","description":"ALL"},"status":{"type":"string","description":"PENDING, COMPLETE, FAILED, EXPIRED"},"report_url":{"type":"string","description":"Link to the generated report"},"result":{"type":"array","items":{"$ref":"#/definitions/TelcoDataUsageRecord"}},"created_at":{"type":"string","description":"Date and time (UTC) when the report was generated"},"updated_at":{"type":"string","description":"Date and time (UTC) when the report was last updated, or null if it has not been updated yet"}}},"TelcoDataUsageRecord":{"type":"object","properties":{"user_id":{"type":"string","description":"ID of the user who owns the data in this record"},"aggregations":{"type":"array","items":{"$ref":"#/definitions/TelcoDataUsageAggregation"}}}},"TelcoDataUsageAggregation":{"type":"object","properties":{"type":{"type":"string","description":"LRN, CNAM, or Switch Data"},"total_dips":{"type":"integer","description":"Total number of dips for the given Telco Data type and reporting period"},"total_cost":{"type":"number","description":"Total cost for the given Telco Data type and reporting period"},"currency":{"type":"string","description":"USD"}}},"TelcoDataListReportsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/TelcoDataUsageReport"}}}},"TelcoDataUsageErrorMessage":{"type":"object","properties":{"code":{"type":"string","description":"Error code, expressed as a stringified integer"},"title":{"type":"string","description":"Short summary of the problem"},"detail":{"type":"string","description":"Explanation specific to this occurrence of the problem"}}},"TelcoDataUsageError":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/TelcoDataUsageErrorMessage"}}}},"AuthorizedIp":{"required":["connection_id","ip_address"],"properties":{"connection_id":{"type":"string"},"ip_address":{"type":"string"}}},"AuthorizedIpResponse":{"required":["id","ip_address","port"],"properties":{"id":{"type":"string"},"ip_address":{"type":"string"},"port":{"type":"integer","default":5060}}},"AutoRechargePrefRequest":{"required":["threshold_amount","recharge_amount","enabled"],"properties":{"threshold_amount":{"type":"string","example":"0.00","description":"US dollars and cents"},"recharge_amount":{"type":"string","example":"10.00","description":"US dollars and cents. Must be a minimum of $10.00"},"enabled":{"type":"boolean","description":"Indicates if auto recharge is enabled or not","default":false}}},"AutoRechargePrefResponse":{"required":["threshold_amount","recharge_amount","enabled"],"properties":{"id":{"type":"string"},"threshold_amount":{"type":"string","example":"0.00","description":"US dollars and cents"},"recharge_amount":{"type":"string","example":"10.00","description":"US dollars and cents. Must be a minimum of $10.00"},"enabled":{"type":"boolean","description":"Indicates if auto recharge is enabled or not","default":false}}},"ChannelSettingsUpdate":{"required":["channels"],"properties":{"channels":{"description":"The new number of concurrent channels you want. You may check the cost per\n            channel on the pricing page. Please note you may not set your channel count to 0 if you have\n            any numbers using channel billing.","type":"integer"}}},"ChannelSettingsResponse":{"required":["channels"],"properties":{"channels":{"description":"Number of concurrent channels active on your account","type":"integer"}}},"Fqdn":{"required":["connection_id","fqdn","dns_record_type"],"properties":{"connection_id":{"type":"string"},"fqdn":{"type":"string"},"port":{"type":"integer"},"dns_record_type":{"type":"string","enum":["a","srv"],"description":"the DNS record type for the FQDN. For cases where a port\n            is not set, the DNS record type must be 'srv'. For cases where a port is set, the DNS record\n            type must be 'a'. If the DNS record type is 'a' and a port is not specified,\n            5060 will be used."}}},"FqdnResponse":{"required":["id","connection_id","fqdn","dns_record_type"],"properties":{"id":{"type":"string"},"connection_id":{"type":"string"},"fqdn":{"type":"string"},"port":{"type":"integer"},"dns_record_type":{"type":"string","enum":["a","srv"],"description":"the DNS record type for the FQDN. For cases where a port\n            is not set, the DNS record type must be 'srv'. For cases where a port is set, the DNS record\n            type must be 'a'. If the DNS record type is 'a' and a port is not specified,\n            5060 will be used."}}},"Address":{"required":["first_name","last_name","phone_number","street_address","locality","country_code"],"properties":{"first_name":{"type":"string","example":"John","description":"Address first name"},"last_name":{"type":"string","example":"Smith","description":"Address last name"},"business_name":{"type":"string","example":"Telnyx","description":"Address business name"},"phone_number":{"type":"string","example":"+13125364300","description":"Address phone number"},"street_address":{"type":"string","example":"311 W. Superior St.","description":"Address first line"},"extended_address":{"type":"string","example":"Suite 504","description":"Address second line"},"locality":{"type":"string","example":"CHICAGO","description":"Locality (city for US addresses)"},"administrative_area":{"type":"string","example":"IL","description":"Administrative area (state for US addresses)"},"postal_code":{"type":"string","example":"60654","description":"Postal code"},"country_code":{"type":"string","example":"US","description":"2-digit country code"},"address_book":{"default":true,"type":"boolean","description":"indicates if the address should be considered part of your 'address book' or not;\n            addresses that are in your address book are shown by default when listing addresses, those not in your\n            address book are not. They can still be shown by using the include_non_address_book filter when\n            requesting addresses."}}},"AddressResponse":{"required":["id","first_name","last_name","business_name","street_address","extended_address","locality","administrative_area","postal_code","country_code","address_book"],"properties":{"id":{"type":"string"},"first_name":{"type":"string","example":"John","description":"Address first name"},"last_name":{"type":"string","example":"Smith","description":"Address last name"},"business_name":{"type":"string","example":"Telnyx","description":"Address business name"},"phone_number":{"type":"string","example":"+13125364300","description":"Address phone number"},"street_address":{"type":"string","example":"311 W. Superior St.","description":"Address first line"},"extended_address":{"type":"string","example":"Suite 504","description":"Address second line"},"locality":{"type":"string","example":"CHICAGO","description":"Locality (city for US addresses)"},"administrative_area":{"type":"string","example":"IL","description":"Administrative area (state for US addresses)"},"postal_code":{"type":"string","example":"60654","description":"Postal code"},"country_code":{"type":"string","example":"US","description":"2-digit country code"},"address_book":{"default":true,"type":"boolean","description":"indicates if the address should be considered part of your 'address book' or not;\n            addresses that are in your address book are shown by default when listing addresses, those not in your\n            address book are not. They can still be shown by using the include_non_address_book filter when\n            requesting addresses."}}},"PhoneNumber":{"required":["phone_number"],"properties":{"phone_number":{"description":"E164 formatted phone number","type":"string"}}},"PortabilityCheck":{"required":["phone_numbers"],"properties":{"phone_numbers":{"description":"List of phone numbers to check phone numbers","type":"array","items":{"$ref":"#/definitions/PhoneNumber"}}}},"PortabilityCheckResponse":{"required":["phone_numbers"],"properties":{"phone_numbers":{"description":"List of phone numbers to check phone numbers on","type":"array","items":{"$ref":"#/definitions/PortabilityCheckResult"}}}},"PortabilityCheckResult":{"required":["raw_number","portable","coverage_category"],"properties":{"raw_number":{"description":"The phone number as it was submitted","type":"string"},"e164_number":{"description":"The phone number parsed into e164 format","type":"string"},"portable":{"description":"Is the number portable?","type":"boolean"},"portability_status":{"description":"Specifies whether Telnyx was able to confirm portability for the rate center for this number","type":"string","enum":["pending","confirmed","provisional"]},"carrier_name":{"description":"The underlying carrier associated with the phone number","type":"string"},"coverage_category":{"description":"Category of phone number. 'nanp_toll_free' indicates a toll free number on the North American Numbering Plan (NANP). 'nanp_generic' indicates a non toll-free NANP phone number. 'international' indicates a non-NANP phone number.","type":"string","enum":["nanp_generic","nanp_toll_free","international","invalid"]},"non_portable_reason":{"description":"Reason the phone number is not portable","type":"string","enum":["invalid_phone_number","lrn_data_not_found","no_coverage","already_being_ported","telnyx_number"]}}},"PortRequest":{"required":["id","support_key","created_at","phone_number_counts_by_status"],"properties":{"id":{"type":"string"},"phone_numbers":{"description":"Phone numbers associated with this port request","type":"array","items":{"$ref":"#/definitions/PortRequestPhoneNumber"}},"support_key":{"type":"string","description":"Key to reference when contacting Telnyx support"},"created_at":{"type":"string","description":"ISO 8601 formatted date indicating when the resource was created."},"updated_at":{"type":"string","description":"ISO 8601 formatted date indicating when the resource was updated."},"phone_number_counts_by_status":{"type":"array","items":{"$ref":"#/definitions/PhoneNumberCountAndStatus"}},"sub_requests":{"type":"array","items":{"$ref":"#/definitions/SubRequest"}}}},"PortingOptionRequest":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"A port can be either 'full' or 'partial'. When type is 'full' the other attributes should be omitted.","enum":["partial","full"]},"remaining_numbers_action":{"type":"string","description":"Remaining numbers can be either kept with their current service provider or disconnected. 'new_billing_telephone_number' is required when 'remaining_numbers_action' is 'keep'.","enum":["keep","disconnect"]},"new_billing_phone_number":{"type":"string","description":"New billing telephone numbers for the remaining numbers. This will be set on your account with your current service provider and should be one of the numbers remaining on that account."}}},"PortingOption":{"required":["type","remaining_numbers_action","new_billing_phone_number"],"type":"object","properties":{"type":{"type":"string","description":"A port can be either 'full' or 'partial'. When type is 'full' the other attributes should be omitted.","enum":["partial","full"]},"remaining_numbers_action":{"type":"string","description":"Remaining numbers can be either kept with their current service provider or disconnected. 'new_billing_telephone_number' is required when 'remaining_numbers_action' is 'keep'.","enum":["keep","disconnect"]},"new_billing_phone_number":{"type":"string","description":"New billing telephone numbers for the remaining numbers. This will be set on your account with your current service provider and should be one of the numbers remaining on that account."}}},"PhoneNumberCountAndStatus":{"type":"object","required":["status","count"],"properties":{"status":{"type":"string","description":"Sub request status","enum":["unassigned","in-process","submitted","exception","foc-date-confirmed","ported","cancelled","cancel-pending"]},"count":{"type":"integer","description":"Count of phone numbers with this status"}}},"PortRequestPhoneNumber":{"required":["phone_number","coverage_category","carrier_name","sub_request_id","sub_request_status","svtype","portability_status"],"properties":{"phone_number":{"type":"string","description":"E164 formatted phone number"},"svtype":{"type":"string","description":"Service type of the phone number. '0' for wireline, '1' for wireless and '2' for VOIP"},"carrier_name":{"type":"string","description":"Name of underlying carrier"},"coverage_category":{"type":"string","description":"Category of phone number","enum":["nanp_generic","nanp_toll_free"]},"sub_request_id":{"type":"string","description":"Id of associated sub request"},"sub_request_status":{"type":"string","description":"Status of associated sub request. If no associated sub request this field will be null"},"portability_status":{"description":"Specifies whether Telnyx was able to confirm portability for the rate center for this number","type":"string","enum":["pending","confirmed","provisional"]}}},"DraftPortRequestPhoneNumber":{"required":["phone_number","svtype","carrier_name","coverage_category","sub_request_id","portability_status"],"properties":{"phone_number":{"type":"string","description":"E164 formatted phone number"},"svtype":{"type":"string","description":"Service type of the phone number. '0' for wireline, '1' for wireless and '2' for VOIP"},"carrier_name":{"type":"string","description":"Name of underlying carrier"},"coverage_category":{"type":"string","description":"Category of phone number","enum":["nanp_generic","nanp_toll_free"]},"sub_request_id":{"type":"string","description":"Id of associated sub request"},"portability_status":{"description":"Specifies whether Telnyx was able to confirm portability for the rate center for this number","type":"string","enum":["pending","confirmed","provisional"]}}},"CreatePortRequestPhoneNumberRequest":{"required":["phone_number"],"properties":{"phone_number":{"type":"string","description":"E164 formatted phone number"}}},"SubRequest":{"required":["account_number","administrative_area","auth_person_name","billing_phone_number","business_identifier","country_code","created_at","updated_at","default_connection_id","default_message_profile_id","description","extended_address","foc_date","foc_date_requested_by_user","id","locality","person_or_company_name","phone_number_count","pin_passcode","porting_option","postal_code","status","street_address","support_key","tax_identifier"],"properties":{"id":{"type":"string"},"phone_numbers":{"type":"array","description":"Phone numbers associated with this port request","items":{"$ref":"#/definitions/PortRequestPhoneNumber"}},"foc_date":{"type":"string","description":"ISO 8601 formatted Date/Time of the FOC date"},"status":{"type":"string","description":"Status of sub request","enum":["unassigned","in-process","submitted","exception","foc-date-confirmed","ported","cancelled","cancel-pending"]},"support_key":{"type":"string","description":"Key to reference when contacting Telnyx support"},"phone_number_count":{"type":"integer","description":"Number of phone numbers attached to this sub request"},"underlying_carrier_names":{"type":"array","description":"Names of underlying carriers for phone numbers on this sub request","items":{"type":"string"}},"foc_date_requested_by_user":{"type":"string","description":"ISO 8601 formatted Date/Time requested for the FOC date"},"person_or_company_name":{"type":"string","description":"Person Name or Company name requesting the port"},"auth_person_name":{"type":"string","description":"Name of person authorizing the port request"},"billing_phone_number":{"type":"string","description":"Billing phone number associated with these phone numbers"},"street_address":{"type":"string","description":"First line of billing address"},"extended_address":{"type":"string","description":"Second line of billing address"},"locality":{"type":"string","description":"City of billing address"},"administrative_area":{"type":"string","description":"Two character state abbreviation of billing address"},"postal_code":{"type":"string","description":"Postal Code of billing address"},"country_code":{"type":"string","description":"ISO3166-1 alpha-2 country code of billing address"},"created_at":{"type":"string","description":"ISO 8601 formatted date indicating when the resource was created."},"updated_at":{"type":"string","description":"ISO 8601 formatted date indicating when the resource was updated."},"default_connection_id":{"type":"string","description":"Identifies the connection to set on the numbers when the port completes"},"default_message_profile_id":{"type":"string","description":"Identifies the messaging profile to set on the numbers when the port completes"},"porting_option":{"type":"object","$ref":"#/definitions/PortingOption","description":"Options for the processing of numbers with your current service provider."},"pin_passcode":{"type":"string","description":"PIN/passcode for accounts that have wireless type numbers"},"account_number":{"type":"string","description":"The authorized person's account number with the current service provider"},"description":{"type":"string","description":"Description of draft sub request"},"tax_identifier":{"type":"string","description":"European tax identification number. Applicable only in the European Union"},"business_identifier":{"type":"string","description":"European business identification number. Applicable only in the European Union"},"customer_rating":{"type":"integer","description":"Once a sub request is ported, cancellation is requested or the sub request is cancelled, the user may rate their experience"},"customer_rating_comment":{"type":"string","description":"A comment related to the customer rating."}}},"PortRequestComment":{"required":["id","body","created_at"],"properties":{"id":{"type":"string"},"body":{"type":"string","description":"Body of comment"},"sub_request_id":{"type":"string","description":"Id of associated sub request","default":null},"user_id":{"type":"string","description":"Id of user who created the comment. Will be null if created by Telnyx Admin"},"created_at":{"type":"string","description":"ISO 8601 formatted date indicating when the resource was created."}}},"CreatePortRequestCommentRequest":{"required":["body"],"properties":{"body":{"type":"string","description":"Body of comment"},"sub_request_id":{"type":"string","description":"Id of associated sub request. Send null to post a comment on the overall port request","default":null}}},"CreateSupportingDocumentRequest":{"required":["description","document_type","url","draft_sub_request_id"],"properties":{"description":{"type":"string","description":"Description of supporting document"},"document_type":{"type":"string","description":"Type of document","enum":["loa","csr","invoice","other"]},"url":{"type":"string","description":"The AWS S3 url of the uploaded file"},"draft_sub_request_id":{"type":"string","description":"The ID of the Draft Sub Request to associate the supporting document with"}}},"PortRequestSupportingDocument":{"required":["id","body","document_type","created_at"],"properties":{"id":{"type":"string"},"body":{"type":"string","description":"Description of supporting document"},"document_type":{"type":"string","description":"Type of document","enum":["loa","csr","invoice","other"]},"created_at":{"type":"string","description":"ISO 8601 formatted date indicating when the resource was created."}}},"PortRequestSupportingDocumentDownloadLink":{"required":["url"],"properties":{"url":{"type":"string","description":"Link to download the supporting document."}}},"CreateDraftPortRequestRequest":{"required":["phone_numbers"],"properties":{"phone_numbers":{"description":"List of phone numbers to port","type":"array","items":{"$ref":"#/definitions/PhoneNumber"}}}},"DraftPortRequest":{"required":["id","created_at","status","phone_number_count","port_request_id"],"properties":{"id":{"type":"string"},"created_at":{"type":"string","description":"ISO 8601 formatted date indicating when the resource was created."},"status":{"type":"string","description":"Draft port request status","enum":["pending","submitted"]},"phone_number_count":{"type":"integer","description":"Count of phone numbers associated with this draft port request"},"phone_numbers":{"description":"Phone numbers associated with this draft port request","type":"array","items":{"$ref":"#/definitions/DraftPortRequestPhoneNumber"}},"sub_requests":{"type":"array","items":{"$ref":"#/definitions/DraftSubRequest"}},"port_request_id":{"type":"string","description":"ID the associated Port Request. This field is filled if the draft port request has been submitted."}}},"DraftSubRequest":{"required":["account_number","administrative_area","auth_person_name","billing_phone_number","business_identifier","complete","country_code","created_at","default_connection_id","default_message_profile_id","description","extended_address","foc_date_requested_by_user","id","locality","person_or_company_name","phone_number_count","pin_passcode","porting_option","postal_code","street_address","tax_identifier"],"properties":{"id":{"type":"string"},"complete":{"type":"boolean","description":"True if object contains all necessary information, otherwise false"},"phone_numbers":{"type":"array","description":"Phone numbers associated with this sub request","items":{"$ref":"#/definitions/DraftPortRequestPhoneNumber"}},"foc_date_requested_by_user":{"type":"string","description":"ISO 8601 formatted Date/Time requested for the FOC date"},"phone_number_count":{"type":"integer","description":"Number of phone numbers attached to this sub request"},"underlying_carrier_names":{"type":"array","description":"Names of underlying carriers for phone numbers on this sub request","items":{"type":"string"}},"person_or_company_name":{"type":"string","description":"Person Name or Company name requesting the port"},"auth_person_name":{"type":"string","description":"Name of person authorizing the port request"},"billing_phone_number":{"type":"string","description":"Billing phone number associated with these phone numbers"},"street_address":{"type":"string","description":"First line of billing address"},"extended_address":{"type":"string","description":"Second line of billing address"},"locality":{"type":"string","description":"City of billing address"},"administrative_area":{"type":"string","description":"Two character state abbreviation of billing address"},"postal_code":{"type":"string","description":"Postal Code of billing address"},"country_code":{"type":"string","description":"ISO3166-1 alpha-2 country code of billing address"},"created_at":{"type":"string","description":"ISO 8601 formatted date indicating when the resource was created."},"default_connection_id":{"type":"string","description":"Identifies the connection to set on the numbers when the port completes"},"default_message_profile_id":{"type":"string","description":"Identifies the messaging profile to set on the numbers when the port completes"},"porting_option":{"type":"object","$ref":"#/definitions/PortingOption","description":"Options for the processing of numbers with your current service provider."},"pin_passcode":{"type":"string","description":"PIN/passcode for accounts that have wireless type numbers"},"account_number":{"type":"string","description":"The authorized person's account number with the current service provider"},"description":{"type":"string","description":"Description of draft sub request"},"tax_identifier":{"type":"string","description":"European tax identification number. Applicable only in the European Union"},"business_identifier":{"type":"string","description":"European business identification number. Applicable only in the European Union"}}},"UpdateDraftSubRequestRequest":{"required":["auth_person_name","billing_phone_number","street_address","locality","administrative_area","postal_code","country_code","default_connection_id","default_message_profile_id","foc_date_requested_by_user"],"properties":{"foc_date_requested_by_user":{"type":"string","description":"ISO 8601 formatted Date/Time requested for the FOC date"},"person_or_company_name":{"type":"string","description":"Person Name or Company name requesting the port"},"auth_person_name":{"type":"string","description":"Name of person authorizing the port request"},"billing_phone_number":{"type":"string","description":"Billing phone number associated with these phone numbers"},"street_address":{"type":"string","description":"First line of billing address"},"extended_address":{"type":"string","description":"Second line of billing address"},"locality":{"type":"string","description":"City of billing address"},"administrative_area":{"type":"string","description":"Two character state abbreviation of billing address"},"postal_code":{"type":"string","description":"Postal Code of billing address"},"country_code":{"type":"string","description":"ISO3166-1 alpha-2 country code of billing address"},"default_connection_id":{"type":"string","description":"Identifies the connection to set on the numbers when the port completes"},"default_message_profile_id":{"type":"string","description":"Identifies the messaging profile to set on the numbers when the port completes"},"porting_option":{"type":"object","$ref":"#/definitions/PortingOptionRequest","description":"Options for the processing of numbers with your current service provider."},"pin_passcode":{"type":"string","description":"PIN/passcode for accounts that have wireless type numbers"},"account_number":{"type":"string","description":"The authorized person's account number with the current service provider"},"tax_identifier":{"type":"string","description":"European tax identification number. Applicable only in the European Union"},"business_identifier":{"type":"string","description":"European business identification number. Applicable only in the European Union"}}},"UpdateSubRequestRequest":{"required":["auth_person_name","billing_phone_number","street_address","locality","administrative_area","postal_code","country_code","default_connection_id","foc_date_requested_by_user"],"properties":{"foc_date_requested_by_user":{"type":"string","description":"ISO 8601 formatted Date/Time requested for the FOC date"},"person_or_company_name":{"type":"string","description":"Person Name or Company name requesting the port"},"auth_person_name":{"type":"string","description":"Name of person authorizing the port request"},"billing_phone_number":{"type":"string","description":"Billing phone number associated with these phone numbers"},"street_address":{"type":"string","description":"First line of billing address"},"extended_address":{"type":"string","description":"Second line of billing address"},"locality":{"type":"string","description":"City of billing address"},"administrative_area":{"type":"string","description":"Two character state abbreviation of billing address"},"postal_code":{"type":"string","description":"Postal Code of billing address"},"country_code":{"type":"string","description":"ISO3166-1 alpha-2 country code of billing address"},"default_connection_id":{"type":"string","description":"Identifies the connection to set on the numbers when the port completes"},"porting_option":{"type":"object","$ref":"#/definitions/PortingOptionRequest","description":"Options for the processing of numbers with your current service provider."},"pin_passcode":{"type":"string","description":"PIN/passcode for accounts that have wireless type numbers"},"account_number":{"type":"string","description":"The authorized person's account number with the current service provider"},"tax_identifier":{"type":"string","description":"European tax identification number. Applicable only in the European Union"},"business_identifier":{"type":"string","description":"European business identification number. Applicable only in the European Union"},"customer_rating":{"type":"integer","description":"Once a sub request is ported, cancellation is requested or the sub request is cancelled, the user may rate their experience."},"customer_rating_comment":{"type":"string","description":"A comment related to the customer rating"}}},"AllowedFocDate":{"required":["start","end"],"properties":{"start":{"type":"string","description":"ISO 8601 formatted Date/Time of the start of the allowed foc date interval"},"end":{"type":"string","description":"ISO 8601 formatted Date/Time of the end of the allowed foc date interval"}}},"PortingException":{"required":["id","code"],"properties":{"id":{"type":"string"},"code":{"type":"string","description":"Porting exception code"}}},"PortingExceptionType":{"required":["code","description"],"properties":{"code":{"type":"string","description":"Porting exception code"},"description":{"type":"string","description":"Human readable description of porting exception type"}}},"CallRecordingResponse":{"required":["id","record_type","download_urls","created_at","updated_at","call"],"properties":{"id":{"type":"string","description":"Unique identifier of the recording"},"record_type":{"type":"string","description":"The type of record being returned. This will always be `recording`"},"call":{"type":"object","$ref":"#/definitions/Call","description":"The call associated with the recording"},"download_urls":{"type":"object","$ref":"#/definitions/DownloadURLs","description":"Download URLs for the call recording"},"created_at":{"type":"string","description":"ISO 8601 formatted date of when the call recording was created"},"updated_at":{"type":"string","description":"ISO 8601 formatted date of when the call recording was last updated"}}},"DownloadURLs":{"type":"object","properties":{"wav":{"type":"string","description":"The URL of the recording in WAV format"}}},"Call":{"required":["start_time","end_time","duration","to","from","telnyx_session_uuid","connection_id"],"type":"object","properties":{"start_time":{"type":"string","description":"ISO 8601 formatted date of when the recording was started"},"end_time":{"type":"string","description":"ISO 8601 formatted date of when the recording ended"},"duration":{"type":"integer","description":"The duration of the recordings in seconds"},"to":{"type":"string","description":"The identifier of the callee"},"from":{"type":"string","description":"The identifier of the caller"},"telnyx_session_uuid":{"type":"string","description":"The unique identifier for the call session"},"connection_id":{"type":"string","description":"The unique identifier of the connection associated with the call"}}},"Error":{"required":["success","message","reasons"],"properties":{"success":{"type":"boolean","default":false},"message":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}}}},"Metadata":{"type":"object","title":"Metadata","properties":{"total_pages":{"type":"number","description":"Total number of pages based on pagination settings","example":13,"format":"double"},"total_results":{"type":"number","description":"Total number of results","example":13,"format":"double"},"page_number":{"type":"number","description":"Current Page based on pagination settings (included when defaults are used.)","example":3,"format":"double"},"page_size":{"type":"number","description":"Number of results to return per page based on pagination settings (included when defaults are used.)","example":1,"format":"double"}}},"Action":{"type":"object","title":"Action","properties":{"id":{"type":"string","description":"uuid.","example":"7e610e23-d1f2-4f90-b5b7-3ddd7b32ad7c"},"category":{"type":"string","description":"Conceptual grouping for related Actions.","example":"SMS"},"description":{"type":"string","description":"Human readable identifier.","example":"Send messages"},"record_type":{"type":"string","description":"Record type.","example":"action"},"created_at":{"type":"string","description":"Timestamp of resource creation.","example":"2018-02-08T18:49:22.998023Z"},"updated_at":{"type":"string","description":"Timestamp of last resource update.","example":"2018-02-08T18:49:22.998023Z"}}},"ResourceGroupCreate":{"type":"object","title":"Resource Group Create","required":["description"],"properties":{"description":{"type":"string","description":"Human readable identifier.","example":"Tommy's Numbers"}}},"ResourceGroup":{"title":"Resource Group","type":"object","properties":{"id":{"type":"string","description":"uuid.","example":"e6746f7c-a375-4c68-937f-bbfc3858d500"},"description":{"type":"string","description":"Human readable identifier.","example":"Tommy's Numbers"},"default":{"type":"boolean","description":"True if this is the default Resource Group, false otherwise.","example":"Tommy's Numbers"},"record_type":{"type":"string","description":"Record type.","example":"resource_group"},"created_at":{"type":"string","description":"Timestamp of resource creation.","example":"2018-02-08T18:49:22.998023Z"},"updated_at":{"type":"string","description":"Timestamp of last resource update.","example":"2018-02-08T18:49:22.998023Z"}}},"PermissionGroupBase":{"type":"object","title":"Permission Group Base","properties":{"description":{"type":"string","description":"Human readable identifier.","example":"Text Jenny"}}},"PermissionGroupCreate":{"title":"Permission Group Create","type":"object","required":["description","actions","resource_groups"],"properties":{"description":{"type":"string","description":"Human readable identifier.","example":"Text Jenny"},"actions":{"type":"array","items":{"type":"string","description":"Array of ids of Actions on the Permission Group."}},"resource_groups":{"type":"array","items":{"type":"string","description":"Array of ids of Resource Groups on the Permission Group."}}}},"PermissionGroup":{"title":"Permission Group","type":"object","properties":{"id":{"type":"string","description":"uuid.","example":"1490ecab-d4a1-4f22-abe7-60f5500a060f"},"description":{"type":"string","description":"Human readable identifier.","example":"Text Jenny"},"actions":{"type":"array","items":{"type":"string","description":"Array of ids of Actions on the Permission Group."}},"resource_groups":{"type":"array","items":{"type":"string","description":"Array of ids of Resource Groups on the Permission Group."}},"record_type":{"type":"string","description":"Record type.","example":"permission_group"},"created_at":{"type":"string","description":"Timestamp of resource creation.","example":"2018-02-08T18:49:22.998023Z"},"updated_at":{"type":"string","description":"Timestamp of last resource update.","example":"2018-02-08T18:49:22.998023Z"}}},"ApiKey":{"title":"API Key","type":"object","properties":{"id":{"type":"string","description":"uuid.","example":"f30e7596-586e-44e1-ae7d-53db10f144d3"},"description":{"type":"string","description":"Human readable identifier.","example":"Tommy's Key"},"secret":{"type":"string","description":"Secret used to authenticate API Key.","example":"XXXXXXXXXXXXX"},"backup_secret":{"type":"string","description":"Secondary secret which may also be used to authenticate API Key.","example":"XXXXXXXXXXXXX"},"status":{"type":"string","description":"Status of the API Key.","example":"active"},"permission_groups":{"type":"array","description":"Array of ids of Permission Groups on the API Key.","items":{"type":"string"}},"admin":{"type":"boolean","description":"True if the API Key has admin rights, false otherwise."},"record_type":{"type":"string","description":"Record type.","example":"api_key"},"created_at":{"type":"string","description":"Timestamp of resource creation.","example":"2018-02-08T18:49:22.998023Z"},"updated_at":{"type":"string","description":"Timestamp of last resource update.","example":"2018-02-08T18:49:22.998023Z"}}},"ApiKeyCreate":{"title":"API Key","type":"object","required":["description","permission_groups","admin"],"properties":{"description":{"type":"string","description":"Human readable identifier.","example":"Tommy's Key"},"permission_groups":{"type":"array","description":"Array of ids of Permission Groups on the API Key.","items":{"type":"string"}},"admin":{"type":"boolean","description":"True if the API Key has admin rights, false otherwise."}}},"ApiKeyUpdate":{"title":"API Key","type":"object","properties":{"description":{"type":"string","description":"Human readable identifier.","example":"Tommy's Key"},"permission_groups":{"type":"array","description":"Array of ids of Permission Groups on the API Key.","items":{"type":"string"}},"status":{"type":"string","description":"Status of the API Key.","example":"active"}}},"ApiKeyAssign":{"type":"object","title":"API Key Assign","properties":{"user_id":{"type":"string","description":"uuid for User.","example":"e74e0c5c-b185-4e40-8b4a-aae7fc8a9f1d"}}},"AccessTokenCreate":{"type":"object","title":"Access Token","required":["api_key_id","expiration","permission_groups"],"properties":{"api_key_id":{"type":"string","description":"API Key for which to create the Access Token.","example":"f30e7596-586e-44e1-ae7d-53db10f144d3"},"expiration":{"type":"string","description":"Expiration datetime in ISO 8601 format","example":"2018-02-09T00:00:00.000000Z"},"permission_groups":{"type":"array","description":"Array of ids of Permission Groups on the Access Token.","items":{"type":"string"}}}},"AccessToken":{"type":"object","title":"Access Token","required":["api_key_id","expiration","permission_groups"],"properties":{"token":{"type":"string","description":"Access token.","example":"XXXXXXXXXXXXX"},"api_key_id":{"type":"string","description":"API Key for which to create the Access Token.","example":"f30e7596-586e-44e1-ae7d-53db10f144d3"},"expiration":{"type":"string","description":"Expiration datetime in ISO 8601 format","example":"2018-02-09T00:00:00.000000Z"},"permission_groups":{"type":"array","description":"Array of ids of Permission Groups on the Access Token.","items":{"type":"string"}},"record_type":{"type":"string","description":"Record type.","example":"access_token"},"created_at":{"type":"string","description":"Timestamp of resource creation.","example":"2018-02-08T18:49:22.998023Z"},"updated_at":{"type":"string","description":"Timestamp of last resource update.","example":"2018-02-08T18:49:22.998023Z"}}},"ErrorBase":{"type":"object","title":"Error Base","properties":{"code":{"type":"string","description":"an application-specific error code, expressed as a stringified integer.","example":"10001"},"title":{"type":"string","description":"a short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization. Do not include punctuation in the title.","example":"error title"},"detail":{"type":"string","description":"a human-readable explanation specific to this occurrence of the problem. Like title, this field’s value can be localized.","example":"additional detail about the error"},"pointer":{"type":"string","description":"JSON pointer to the field which is causing the error.","example":"/pointer/to/field"}}},"GetAllActionsResponse":{"type":"object","title":"Get all Actions response","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/Action"}},"meta":{"$ref":"#/definitions/Metadata"}}},"GetAnActionResponse":{"type":"object","title":"Get an Action response","properties":{"data":{"$ref":"#/definitions/Action"}}},"GetAllResourceGroupsResponse":{"type":"object","title":"Get all Resource Groups response","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/ResourceGroup"}},"meta":{"$ref":"#/definitions/Metadata"}}},"GetAResourceGroupResponse":{"type":"object","title":"Get a Resource Group response","properties":{"data":{"$ref":"#/definitions/ResourceGroup"}}},"CreateAResourceGroupResponse":{"type":"object","title":"Create a Resource Group response","properties":{"data":{"$ref":"#/definitions/ResourceGroup"}}},"UpdateAResourceGroupResponse":{"type":"object","title":"Update a Resource Group response","properties":{"data":{"$ref":"#/definitions/ResourceGroup"}}},"GetAllPermissionGroupsResponse":{"type":"object","title":"Get all Permission Groups response","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/PermissionGroup"}},"meta":{"$ref":"#/definitions/Metadata"}}},"GetAPermissionGroupResponse":{"type":"object","title":"Get a Permission Group response","properties":{"data":{"$ref":"#/definitions/PermissionGroup"}}},"CreateAPermissionGroupResponse":{"type":"object","title":"Create a Permission Group response","properties":{"data":{"$ref":"#/definitions/PermissionGroup"}}},"UpdateAPermissionGroupResponse":{"type":"object","title":"Update a Permission Group response","properties":{"data":{"$ref":"#/definitions/PermissionGroup"}}},"GetAllApiKeysResponse":{"type":"object","title":"Get all API Keys response","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/ApiKey"}},"meta":{"$ref":"#/definitions/Metadata"}}},"GetAnApiKeyResponse":{"type":"object","title":"Get an API Key response","properties":{"data":{"$ref":"#/definitions/ApiKey"}}},"CreateAnApiKeyResponse":{"type":"object","title":"Create an API Key response","properties":{"data":{"$ref":"#/definitions/ApiKey"}}},"UpdateAnApiKeyResponse":{"type":"object","title":"Update an API Key response","properties":{"data":{"$ref":"#/definitions/ApiKey"}}},"GenerateAnApiKeysBackupSecretResponse":{"type":"object","title":"Generate an API Key's backup secret response","properties":{"data":{"$ref":"#/definitions/ApiKey"}}},"RotateAnApiKeysSecretResponse":{"type":"object","title":"Rotate an API Key's secret response","properties":{"data":{"$ref":"#/definitions/ApiKey"}}},"AssignAnApiKeyToAnotherUserResponse":{"type":"object","title":"Assign an API Key to another user response","properties":{"data":{"$ref":"#/definitions/ApiKey"}}},"CreateAnAccessTokenResponse":{"type":"object","title":"Create an Access Token response","properties":{"data":{"$ref":"#/definitions/AccessToken"}}},"StructuredError":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/definitions/ErrorBase"}}}},"Site":{"type":"object","title":"Site","required":["id","name","description","local_cloud_regions","record_type"],"properties":{"id":{"type":"string","description":"The `id` of the site"},"name":{"type":"string","description":"The name of the site"},"description":{"type":"string","description":"The description of the site"},"local_cloud_regions":{"type":"array","items":{"$ref":"#/definitions/LocalCloudRegion"}},"record_type":{"type":"string","description":"The type of record being returned. This will always be `site`."}}},"LocalCloudRegion":{"type":"object","title":"LocalCloudRegion","required":["cloud_provider","cloud_region"],"properties":{"cloud_provider":{"type":"string","description":"Cloud provider"},"cloud_region":{"type":"string","description":"Cloud region"}}},"VXCBandwidth":{"type":"object","title":"VXCBandwidth","required":["site_id","cloud_provider","cloud_region","local","bandwidths","record_type"],"properties":{"site_id":{"type":"string","description":"The `id` of the site"},"cloud_provider":{"type":"string","description":"Cloud provider"},"cloud_region":{"type":"string","description":"Cloud region"},"local":{"type":"boolean","description":"Whether the cloud region is local to the site or not"},"bandwidths":{"type":"array","items":{"$ref":"#/definitions/VXCBandwidthOption"}},"record_type":{"type":"string","description":"The type of record being returned. This will always be `vxc_bandwidth`."}}},"VXCBandwidthOption":{"type":"object","title":"VXCBandwidthOption","required":["bandwidth_mbps","currency","amount"],"properties":{"bandwidth_mbps":{"type":"number","description":"Bandwidth in Mbps"},"currency":{"type":"string","description":"Currency the price is listed in"},"amount":{"type":"number","description":"Amount the VXC will cost"}}},"VXCBandwidthsGet":{"type":"object","title":"VXCBandwidthsGet","properties":{"site_id":{"type":"string","description":"The `id` of the site you want to get the available bandwidths for."},"cloud_provider":{"type":"string","description":"Cloud provider to get the available bandwidths for."}}},"Network":{"type":"object","title":"Network","required":["id","site_ids","ip_address_count","name","record_type","resource_group_id","site_count","transit_count","transport_count","vxc_count"],"properties":{"id":{"type":"number","description":"The `id` of the network"},"site_ids":{"type":"array","description":"The list of site `id`s that have been added to the network.","items":{"type":"string"}},"ip_address_count":{"type":"number","description":"Number of IP addresses you have assigned to the network"},"name":{"type":"string","description":"Name of the network"},"record_type":{"type":"string","description":"The type of record being returned. This will always be `network`."},"resource_group_id":{"type":"string","description":"The `id` of the resource group the network is assigned to"},"site_count":{"type":"number","description":"Number of sites this network spans"},"transit_count":{"type":"number","description":"Number of transit links you have in the network"},"transport_count":{"type":"number","description":"Number of transport links you have in the network"},"vxc_count":{"type":"number","description":"Number of VXCs you have in the network"}}},"NetworkCreate":{"type":"object","required":["name","resource_group_id"],"title":"Network Create","properties":{"name":{"type":"string","description":"Name of the network"},"resource_group_id":{"type":"string","description":"The `id` of the resource group the network is assigned to"},"site_ids":{"type":"array","description":"The list of site `id`s that you want to add to the network.","items":{"type":"string"}}}},"NetworkUpdate":{"type":"object","title":"Network Update","properties":{"resource_group_id":{"type":"string","description":"The `id` of the resource group the network is assigned to"},"site_ids":{"type":"array","description":"The list of site `id`s that you want to add to the network.","items":{"type":"string"}}}},"VXC":{"type":"object","title":"VXC","required":["afi","bandwidth_mbps","bgp_asn","cloud_account_id","cloud_provider","cloud_region","network_id","site_id","user_id","id","notes","primary_link_id","primary_cid","primary_bgp_key","primary_cloud_ip","primary_routing_announcement","primary_telnyx_ip","primary_virtual_link_created","record_type","secondary_cloud_account_id","order_status"],"properties":{"afi":{"type":"string","description":"The type of IP addressing you plan to utilize for the VXC"},"bandwidth_mbps":{"type":"number","description":"The desired throughput in Megabits per Second (Mbps) for your Virtual Cross Connect."},"bgp_asn":{"type":"number","description":"The Border Gateway Protocol (BGP) Autonomous System Number (ASN). If null, value will be assigned by Telnyx."},"cloud_account_id":{"type":"string","description":"The identifier for your Virtual Private Cloud.  The number will be different based upon your Cloud provider."},"cloud_provider":{"type":"string","description":"The Virtual Private Cloud with which you would like to establish a cross connect.  Options include “AWS”, “Azure”, or “Google”."},"cloud_region":{"type":"string","description":"The region where your Virtual Private Cloud hosts are located.  If you do not see your region on the list below, please contact Telnyx Support with the region you require, and Telnyx will add it to the list of options."},"network_id":{"type":"string","description":"The `id` of the network to comission the VXC on."},"site_id":{"type":"string","description":"The `id` of the site to comission the VXC on. You must already have added the site to your network."},"user_id":{"type":"string","description":"The `id` of the owner of the VXC."},"id":{"type":"number","description":"The `id` of the VXC"},"notes":{"type":"string","description":"Notes from Telnyx"},"primary_cid":{"type":"string","description":"The circuit id of the primary VXC link"},"primary_link_id":{"type":"string","description":"The `id` of the primary VXC link"},"primary_bgp_key":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `primary_cloud_ip` and `primary_telnyx_ip`"},"primary_cloud_ip":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `primary_telnyx_ip` and `primary_bgp_key`"},"primary_routing_announcement":{"type":"boolean","description":"Whether the primary BGP route is being announced"},"primary_telnyx_ip":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `primary_cloud_ip` and `primary_bgp_key`"},"primary_virtual_link_created":{"type":"boolean","description":"Whether the primary virtual link has been created on the exchange"},"record_type":{"type":"string","description":"The type of record being returned. This will always be `vxc`."},"secondary_link_id":{"type":"string","description":"The `id` of the secondary VXC link"},"secondary_cid":{"type":"string","description":"The circuit id of the secondary VXC link"},"secondary_bgp_key":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  This field should only be included in the POST body if you desire a redundant link. If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `secondary_cloud_ip` and `secondary_telnyx_ip`"},"secondary_cloud_account_id":{"type":"string","description":"For Google Cloud only. The pairing key for your redundant Virtual Private Cloud. This field should only be included in the POST body if you desire a redundant link. If no redundant link is desired, omit this parameter from the POST. If you include this field, you must also include `secondary_telnyx_ip`, `secondary_cloud_ip`,  and `secondary_bgp_key`"},"secondary_cloud_ip":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  This field should only be included in the POST body if you desire a redundant link. If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `secondary_telnyx_ip` and `secondary_bgp_key`"},"secondary_routing_announcement":{"type":"boolean","description":"Whether the secondary BGP route is being announced"},"secondary_telnyx_ip":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  This field should only be included in the POST body if you desire a redundant link. If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `secondary_cloud_ip` and `secondary_bgp_key`"},"secondary_virtual_link_created":{"type":"boolean","description":"Whether the secondary virtual link has been created on the exchange"},"order_status":{"type":"string","description":"Status of the VXC order"}}},"VXCCreate":{"type":"object","title":"VXC Create","required":["afi","bandwidth_mbps","bgp_asn","cloud_account_id","cloud_provider","cloud_region","network_id","site_id"],"properties":{"afi":{"type":"string","description":"The type of IP addressing you plan to utilize for the VXC. Currently only `IPv4` is supported"},"bandwidth_mbps":{"type":"number","description":"The desired throughput in Megabits per Second (Mbps) for your Virtual Cross Connect."},"bgp_asn":{"type":"number","description":"The Border Gateway Protocol (BGP) Autonomous System Number (ASN). If null, value will be assigned by Telnyx."},"cloud_account_id":{"type":"string","description":"The identifier for your Virtual Private Cloud.  The number will be different based upon your Cloud provider."},"cloud_provider":{"type":"string","description":"The Virtual Private Cloud with which you would like to establish a cross connect.  Options include “AWS”, “Azure”, or “Google”."},"cloud_region":{"type":"string","description":"The region where your Virtual Private Cloud hosts are located.  For a list of regions, please contact Telnyx Support."},"network_id":{"type":"string","description":"The `id` of the network to comission the VXC on."},"site_id":{"type":"string","description":"The `id` of the site to comission the VXC on. You must already have added the site to your network."},"primary_bgp_key":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `primary_cloud_ip` and `primary_telnyx_ip`"},"primary_cloud_ip":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `primary_telnyx_ip` and `primary_bgp_key`"},"primary_routing_announcement":{"type":"boolean","description":"Whether the primary BGP route is being announced"},"primary_telnyx_ip":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `primary_cloud_ip` and `primary_bgp_key`"},"secondary_bgp_key":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  This field should only be included in the POST body if you desire a redundant link. If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `secondary_cloud_ip` and `secondary_telnyx_ip`"},"secondary_cloud_account_id":{"type":"string","description":"For Google Cloud only. The pairing key for your redundant Virtual Private Cloud. This field should only be included in the POST body if you desire a redundant link. If no redundant link is desired, omit this parameter from the POST. If you include this field, you must also include `secondary_telnyx_ip`, `secondary_cloud_ip`,  and `secondary_bgp_key`"},"secondary_cloud_ip":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  This field should only be included in the POST body if you desire a redundant link. If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `secondary_telnyx_ip` and `secondary_bgp_key`"},"secondary_routing_announcement":{"type":"boolean","description":"Whether the secondary BGP route is being announced"},"secondary_telnyx_ip":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  This field should only be included in the POST body if you desire a redundant link. If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `secondary_cloud_ip` and `secondary_bgp_key`"}}},"VXCUpdate":{"type":"object","title":"VXC Update","properties":{"primary_cloud_ip":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `primary_telnyx_ip` and `primary_bgp_key`"},"primary_routing_announcement":{"type":"boolean","description":"Whether the primary BGP route is being announced"},"secondary_cloud_ip":{"type":"string","description":"If null, the value will either be auto-generated by Telnyx (for AWS and Azure) or by your VPC (for Google Cloud).  This field should only be included in the POST body if you desire a redundant link. If you have AWS and Azure, and you want to specify your own value, you will also need to specify a value for `secondary_telnyx_ip` and `secondary_bgp_key`"},"secondary_routing_announcement":{"type":"boolean","description":"Whether the secondary BGP route is being announced"}}},"GetAllNetworksResponse":{"type":"object","title":"Get all Networks response","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/Network"}},"meta":{"$ref":"#/definitions/Metadata"}}},"GetANetworkResponse":{"type":"object","title":"Get a Network response","properties":{"data":{"$ref":"#/definitions/Network"}}},"CreateANetworkResponse":{"type":"object","title":"Create a Network response","properties":{"data":{"$ref":"#/definitions/Network"}}},"UpdateANetworkResponse":{"type":"object","title":"Update a Network response","properties":{"data":{"$ref":"#/definitions/Network"}}},"DeleteANetworkResponse":{"type":"object","title":"Delete a Network response","properties":{"data":{"$ref":"#/definitions/Network"}}},"GetAllVXCBandwidthsResponse":{"type":"object","title":"Get all VXC Bandwidths response","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/VXCBandwidth"}},"meta":{"$ref":"#/definitions/Metadata"}}},"GetAllVXCsResponse":{"type":"object","title":"Get all VXCs response","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/VXC"}},"meta":{"$ref":"#/definitions/Metadata"}}},"SearchSiteResponse":{"type":"object","title":"Search Site response","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/Site"}},"meta":{"$ref":"#/definitions/Metadata"}}},"GetAVXCResponse":{"type":"object","title":"Get a VXC response","properties":{"data":{"$ref":"#/definitions/VXC"}}},"CreateAVXCResponse":{"type":"object","title":"Create a VXC response","properties":{"data":{"$ref":"#/definitions/VXC"}}},"DeleteAVXCResponse":{"type":"object","title":"Update a VXC response","properties":{"data":{"$ref":"#/definitions/VXC"}}},"UpdateAVXCResponse":{"type":"object","title":"Update a VXC response","properties":{"data":{"$ref":"#/definitions/VXC"}}},"AnswerRequest":{"type":"object","title":"Answer request","properties":{"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"StartForkingRequest":{"type":"object","title":"Start Forking request","properties":{"target":{"description":"The network target, \u003cudp:ip_address:port\u003e, where the call's RTP media packets should be forwarded. Both incoming and outgoing media packets will be delivered to the specified target, and information about the stream will be included in the encapsulation protocol header, including the direction (0 = inbound; 1 = outbound), leg (0 = A-leg; 1 = B-leg), and call_leg_id.","type":"string","example":"udp:186.52.113.6:9000"},"rx":{"description":"The network target, \u003cudp:ip_address:port\u003e, where the call's incoming RTP media packets should be forwarded.","type":"string","example":"186.52.113.6:9000"},"tx":{"description":"The network target, \u003cudp:ip_address:port\u003e, where the call's outgoing RTP media packets should be forwarded.","type":"string","example":"186.52.113.6:9001"},"stream_type":{"description":"Optionally specify a media type to stream. If `decrpyted` selected, Telnyx will decrypt incoming SIP media before forking to the target. `rx` and `tx` are required fields if `decrypted` selected.","type":"string","enum":["raw","decrypted"],"default":"raw","example":"decrypted"},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"StopForkingRequest":{"type":"object","title":"Stop Forking request","properties":{"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"RejectRequest":{"type":"object","title":"Reject request","properties":{"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"},"cause":{"description":"Cause for call rejection.","enum":["CALL_REJECTED","USER_BUSY"],"example":"USER_BUSY","type":"string"}}},"HangupRequest":{"type":"object","title":"Hangup request","properties":{"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"GatherUsingAudioRequest":{"type":"object","title":"Gather using audio with all parameters request","required":["audio_url"],"properties":{"audio_url":{"type":"string","example":"http://example.com/message.wav","description":"The URL of a file to be played back at the beginning of each prompt. The URL can point to either a WAV or MP3 file."},"invalid_audio_url":{"type":"string","description":"The URL of a file to play when digits don't match the 'valid_digits' parameter or the number of digits is not between 'min' and 'max'. The URL can point to either a WAV or MP3 file.","example":"http://example.com/invalid.wav"},"min":{"description":"The minimum number of digits to fetch. This parameter has a minimum value of 1.","default":1,"type":"integer","example":1,"format":"int32"},"max":{"description":"The maximum number of digits to fetch. This parameter has a maximum value of 128.","default":128,"type":"integer","example":10,"format":"int32"},"tries":{"description":"The maximum number of times that a file should be played back if there is no input from the user on the call.","default":3,"type":"integer","example":3,"format":"int32"},"timeout":{"description":"The number of milliseconds to wait for a DTMF response after file playback ends before a replaying the sound file.","default":60000,"type":"integer","example":60000,"format":"int32"},"terminating_digit":{"description":"The digit used to terminate input if fewer than \"max\" digits have been gathered.","default":"#","type":"string","example":"#"},"valid_digits":{"description":"A list of all digits accepted as valid.","default":"0123456789#*","type":"string","example":"123"},"inter_digit_timeout":{"description":"The number of milliseconds to wait for input between digits.","default":5000,"type":"integer","example":10000,"format":"int32"},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"GatherUsingSpeakRequest":{"type":"object","title":"Gather using speak with all parameters request","required":["voice","language","payload"],"properties":{"payload":{"description":"The text or SSML to be converted into speech. There is a 3,500 character limit.","type":"string","example":"Say this on the call"},"invalid_payload":{"description":"The text or SSML to be converted into speech when digits don't match the 'valid_digits' parameter or the number of digits is not between 'min' and 'max'. There is a 3,500 character limit.","type":"string","example":"Say this on the call"},"payload_type":{"description":"The type of the provided payload. The payload can either be plain text, or Speech Synthesis Markup Language (SSML).","default":"text","type":"string","enum":["text","ssml"],"example":"ssml"},"service_level":{"description":"This parameter impacts speech quality, language options and payload types. When using 'basic', only the 'en-US' language and payload type 'text' are allowed.","default":"premium","type":"string","enum":["basic","premium"],"example":"premium"},"voice":{"description":"The gender of the voice used to speak back the text.","type":"string","enum":["male","female"],"example":"female"},"language":{"description":"The language you want spoken.","type":"string","enum":["arb","cmn-CN","cy-GB","da-DK","de-DE","en-AU","en-GB","en-GB-WLS","en-IN","en-US","es-ES","es-MX","es-US","fr-CA","fr-FR","hi-IN","is-IS","it-IT","ja-JP","ko-KR","nb-NO","nl-NL","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sv-SE","tr-TR"],"example":"en-US"},"min":{"description":"The minimum number of digits to fetch. This parameter has a minimum value of 1.","default":1,"type":"integer","example":1,"format":"int32"},"max":{"description":"The maximum number of digits to fetch. This parameter has a maximum value of 128.","default":128,"type":"integer","example":10,"format":"int32"},"tries":{"description":"The maximum number of times that a file should be played back if there is no input from the user on the call.","default":3,"type":"integer","example":3,"format":"int32"},"timeout":{"description":"The number of milliseconds to wait for a DTMF response after speak ends before a replaying the sound file.","default":60000,"type":"integer","example":60000,"format":"int32"},"terminating_digit":{"description":"The digit used to terminate input if fewer than \"max\" digits have been gathered.","default":"#","type":"string","example":"#"},"valid_digits":{"description":"A list of all digits accepted as valid.","default":"0123456789#*","type":"string","example":"123"},"inter_digit_timeout":{"description":"The number of milliseconds to wait for input between digits.","default":5000,"type":"integer","example":10000,"format":"int32"},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"GatherStopRequest":{"type":"object","title":"Gather Stop request","properties":{"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"PlayAudioUrlRequest":{"type":"object","title":"Play Audio URL request","required":["audio_url"],"properties":{"audio_url":{"description":"The URL of the file to be played back on the call. The URL can point to either a WAV or MP3 file.","type":"string","example":"http://www.example.com/sounds/greeting.wav"},"loop":{"description":"The number of times the audio file should be played. If supplied, the value must be an integer between 1 and 100, or the special string 'infinity' for an endless loop.","type":"string","example":"infinity","default":1},"overlay":{"description":"When enabled, audio will be mixed on top of any other audio that is actively being played back. Note that `overlay: true` will only work if there is another audio file already being played on the call.","type":"boolean","example":"true","default":"false"},"stop":{"description":"When specified, it stops the current audio being played.  Specify 'current' to stop the current audio being played, and to play the next file in the queue. Specify 'all' to stop the current audio file being played and to also clear all audio files from the queue.","type":"string","default":null,"example":"current"},"target_legs":{"description":"Specifies the leg or legs on which audio will be played. If supplied, the value must be either 'self', 'opposite' or 'both'.","type":"string","default":"self","example":"self"},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"PlaybackStopRequest":{"type":"object","title":"Playback Stop request","properties":{"stop":{"description":"Use 'current' to stop only the current audio or 'all' to stop all audios in the queue.","type":"string","default":"all","example":"current"},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"StartRecordingRequest":{"type":"object","title":"Start Recording request","required":["format","channels"],"properties":{"format":{"description":"The audio file format used when storing the call recording. Can be either 'mp3' or 'wav'.","type":"string","enum":["wav","mp3"],"example":"mp3"},"channels":{"description":"When 'dual', final audio file will be stereo recorded with the first leg on channel A, and the rest on channel B.","enum":["single","dual"],"type":"string","example":"single"},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"},"play_beep":{"description":"If enabled, a beep sound will be played at the start of a recording.","type":"boolean","example":true}}},"StopRecordingRequest":{"type":"object","title":"Stop Recording request","properties":{"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"SendDTMFRequest":{"type":"object","title":"Send DTMF request","required":["digits"],"properties":{"digits":{"description":"DTMF digits to send. Valid digits are 0-9, A-D, *, and #. Pauses can be added using w (0.5s) and W (1s).","type":"string","example":"1www2WABCDw9"},"duration":{"description":"Specifies for how many milliseconds each digit will be played in the audio stream. Ranges from 100 to 500ms","type":"integer","format":"int32","example":500,"default":250},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"CallControlCommandResponse":{"type":"object","title":"Command response","required":["result"],"properties":{"result":{"type":"string","example":"ok"}}},"CallControlInvalidParamsResponse":{"type":"object","title":"Invalid command parameters response","required":["code","title","detail"],"properties":{"code":{"type":"string","example":"90015"},"title":{"type":"string","example":"Invalid Call Control ID"},"detail":{"type":"string","example":"The call_control_id provided was not valid."}}},"CallControlStatusResponse":{"required":["record_type","call_control_id","call_leg_id","call_session_id","is_alive"],"properties":{"record_type":{"type":"string","description":"The type of record being returned. This will always be 'call'"},"call_control_id":{"description":"Unique identifier and token for controlling the call","type":"string","example":"AgDIxmoRX6QMuaIj_uXRXnPAXP0QlNfXczRrZvZakpWxBlpw48KyZQ=="},"call_leg_id":{"description":"ID that is unique to the call and can be used to correlate webhook events","type":"string","example":"428c31b6-7af4-4bcb-b7f5-5013ef9657c1"},"call_session_id":{"description":"ID that is unique to the call session and can be used to correlate webhook events. Call session is a group of related call legs that logically belong to the same phone call, e.g. an inbound and outbound leg of a transferred call.","type":"string","example":"428c31b6-7af4-4bcb-b7f5-5013ef9657c1"},"is_alive":{"description":"Indicates whether the call is alive or not.","type":"boolean","example":true}}},"TransferCallRequest":{"type":"object","title":"Transfer call request","required":["to"],"properties":{"to":{"description":"The DID or SIP URI to dial out and bridge to the given call.","type":"string","example":"+13129457420 or SIP:username@sip.telnyx.com"},"from":{"description":"The 'from' number to be used as the caller id presented to the destination ('to' number). The number should be in +E164 format. This attribute will default to the 'from' number of the original call if omitted.","type":"string","example":"+35319605860"},"audio_url":{"description":"Audio URL to be played back when the transfer destination answers before bridging the call. The URL can point to either a WAV or MP3 file.","type":"string","example":"http://www.example.com/sounds/greeting.wav"},"timeout":{"description":"The number of seconds that Telnyx will wait for the call to be answered by the destination to which it is being transferred. If the timeout is reached before an answer is received, the call will hangup and a 'call_hangup' webhook with a 'hangup_cause' of 'timeout' will be sent. Minimum value is 5 seconds. Maximum value is 120 seconds.","default":30,"type":"integer","example":60,"format":"int32"},"time_limit":{"description":"Sets the maximum duration of a Call Control Leg in seconds. If the time limit is reached, the call will hangup and a 'call_hangup' webhook with a 'hangup_cause' of 'time_limit' will be sent. For example, by setting a time limit of 120 seconds, a Call Leg will be automatically terminated two minutes after being answered. The default time limit is 14400 seconds or 4 hours and this is also the maximum allowed call length.","default":14400,"type":"integer","example":600,"format":"int32"},"answering_machine_detection":{"description":"Enables Answering Machine Detection. When a call is answered, Telnyx runs real-time detection to determine if it was picked up by a human or a machine and sends an 'answering_machine_detection_result' webhook with the analysis result. If 'greeting_end' or 'detect_words' is used and a 'machine' is detected, you will receive another 'amd_greeting_ended' webhook when the answering machine greeting ends with a beep or silence.  If `detect_beep` is used, you will only receive 'amd_greeting_ended' if a beep is detected.","default":"disabled","type":"string","enum":["detect","detect_beep","detect_words","greeting_end","disabled"]},"answering_machine_detection_config":{"description":"Optional configuration parameters to modify 'answering_machine_detection' performance.","type":"object","properties":{"total_analysis_time_millis":{"description":"Maximum timeout threshold for overall detection.","default":3500,"type":"integer","example":5000,"format":"int32"},"after_greeting_silence_millis":{"description":"Silence duration threshold after a greeting message or voice for it be considered human.","default":800,"type":"integer","example":1000,"format":"int32"},"between_words_silence_millis":{"description":"Maximum threshold for silence between words.","default":50,"type":"integer","example":100,"format":"int32"},"greeting_duration_millis":{"description":"Maximum threshold of a human greeting. If greeting longer than this value, considered machine.","default":3500,"type":"integer","example":1500,"format":"int32"},"initial_silence_millis":{"description":"If initial silence duration is greater than this value, consider it a machine.","default":3500,"type":"integer","example":1800,"format":"int32"},"maximum_number_of_words":{"description":"If number of detected words is greater than this value, consder it a machine.","default":5,"type":"integer","example":3,"format":"int32"},"maximum_word_length_millis":{"description":"If a single word lasts longer than this threshold, consider it a machine.","default":3500,"type":"integer","example":2000,"format":"int32"},"silence_threshold":{"description":"Minimum noise threshold for any analysis.","default":256,"type":"integer","example":512,"format":"int32"},"greeting_total_analysis_time_millis":{"description":"If machine already detected, maximum timeout threshold to determine the end of the machine greeting.","default":5000,"type":"integer","example":7500,"format":"int32"},"greeting_silence_duration_millis":{"description":"If machine already detected, maximum threshold for silence between words. If exceeded, the greeting is considered ended.","default":1500,"type":"integer","example":2000,"format":"int32"}}},"custom_headers":{"description":"Custom headers to be added to the SIP INVITE.","type":"array","example":[{"name":"head_1","value":"val_1"},{"name":"head_2","value":"val_2"}],"items":{"$ref":"#/definitions/CustomSipHeader"}},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"target_leg_client_state":{"description":"Use this field to add state to every subsequent webhook for the new leg. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"},"sip_auth_username":{"description":"SIP Authentication username used for SIP challenges.","type":"string"},"sip_auth_password":{"description":"SIP Authentication password used for SIP challenges.","type":"string"}}},"DialRequest":{"type":"object","title":"Dial request","required":["connection_id","to","from"],"properties":{"to":{"description":"The DID or SIP URI to dial out to.","type":"string","example":"+13129457420 or SIP:username@sip.telnyx.com"},"from":{"description":"The 'from' number to be used as the caller id presented to the destination ('to' number). The number should be in +E164 format. This attribute will default to the 'from' number of the original call if omitted.","type":"string","example":"+35319605860"},"connection_id":{"type":"string","description":"The ID of the Call Control App (formerly ID of the connection) to be used when dialing the destination."},"audio_url":{"type":"string","example":"http://example.com/message.wav","description":"The URL of a file to be played back to the callee when the call is answered. The URL can point to either a WAV or MP3 file."},"timeout":{"description":"The number of seconds that Telnyx will wait for the call to be answered by the destination to which it is being called. If the timeout is reached before an answer is received, the call will hangup and a 'call_hangup' webhook with a 'hangup_cause' of 'timeout' will be sent. Minimum value is 5 seconds. Maximum value is 120 seconds.","default":30,"type":"integer","example":60,"format":"int32"},"time_limit":{"description":"Sets the maximum duration of a Call Control Leg in seconds. If the time limit is reached, the call will hangup and a 'call_hangup' webhook with a 'hangup_cause' of 'time_limit' will be sent. For example, by setting a time limit of 120 seconds, a Call Leg will be automatically terminated two minutes after being answered. The default time limit is 14400 seconds or 4 hours and this is also the maximum allowed call length.","default":14400,"type":"integer","example":600,"format":"int32"},"answering_machine_detection":{"description":"Enables Answering Machine Detection. When a call is answered, Telnyx runs real-time detection to determine if it was picked up by a human or a machine and sends an 'answering_machine_detection_result' webhook with the analysis result. If 'greeting_end' or 'detect_words' is used and a 'machine' is detected, you will receive another 'amd_greeting_ended' webhook when the answering machine greeting ends with a beep or silence.  If `detect_beep` is used, you will only receive 'amd_greeting_ended' if a beep is detected.","default":"disabled","type":"string","enum":["detect","detect_beep","detect_words","greeting_end","disabled"]},"answering_machine_detection_config":{"description":"Optional configuration parameters to modify 'answering_machine_detection' performance.","type":"object","properties":{"total_analysis_time_millis":{"description":"Maximum timeout threshold for overall detection.","default":3500,"type":"integer","example":5000,"format":"int32"},"after_greeting_silence_millis":{"description":"Silence duration threshold after a greeting message or voice for it be considered human.","default":800,"type":"integer","example":1000,"format":"int32"},"between_words_silence_millis":{"description":"Maximum threshold for silence between words.","default":50,"type":"integer","example":100,"format":"int32"},"greeting_duration_millis":{"description":"Maximum threshold of a human greeting. If greeting longer than this value, considered machine.","default":3500,"type":"integer","example":1500,"format":"int32"},"initial_silence_millis":{"description":"If initial silence duration is greater than this value, consider it a machine.","default":3500,"type":"integer","example":1800,"format":"int32"},"maximum_number_of_words":{"description":"If number of detected words is greater than this value, consder it a machine.","default":5,"type":"integer","example":3,"format":"int32"},"maximum_word_length_millis":{"description":"If a single word lasts longer than this threshold, consider it a machine.","default":3500,"type":"integer","example":2000,"format":"int32"},"silence_threshold":{"description":"Minimum noise threshold for any analysis.","default":256,"type":"integer","example":512,"format":"int32"},"greeting_total_analysis_time_millis":{"description":"If machine already detected, maximum timeout threshold to determine the end of the machine greeting.","default":5000,"type":"integer","example":7500,"format":"int32"},"greeting_silence_duration_millis":{"description":"If machine already detected, maximum threshold for silence between words. If exceeded, the greeting is considered ended.","default":1500,"type":"integer","example":2000,"format":"int32"}}},"custom_headers":{"description":"Custom headers to be added to the SIP INVITE.","type":"array","example":[{"name":"head_1","value":"val_1"},{"name":"head_2","value":"val_2"}],"items":{"$ref":"#/definitions/CustomSipHeader"}},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"},"link_to":{"description":"Use another call's control id for sharing the same call session id","type":"string","example":"ilditnZK_eVysupV21KzmzN_sM29ygfauQojpm4BgFtfX5hXAcjotg=="},"sip_auth_username":{"description":"SIP Authentication username used for SIP challenges.","type":"string"},"sip_auth_password":{"description":"SIP Authentication password used for SIP challenges.","type":"string"}}},"SpeakRequest":{"type":"object","title":"Speak request","required":["payload","voice","language"],"properties":{"payload":{"description":"The text or SSML to be converted into speech. There is a 3,500 character limit.","type":"string","example":"Say this on the call"},"payload_type":{"description":"The type of the provided payload. The payload can either be plain text, or Speech Synthesis Markup Language (SSML).","default":"text","type":"string","enum":["text","ssml"],"example":"ssml"},"service_level":{"description":"This parameter impacts speech quality, language options and payload types. When using 'basic', only the 'en-US' language and payload type 'text' are allowed.","default":"premium","type":"string","enum":["basic","premium"],"example":"premium"},"stop":{"description":"When specified, it stops the current audio being played.  Specify 'current' to stop the current audio being played, and to play the next file in the queue. Specify 'all' to stop the current audio file being played and to also clear all audio files from the queue.","type":"string","default":null,"example":"current"},"voice":{"description":"The gender of the voice used to speak back the text.","type":"string","enum":["male","female"],"example":"female"},"language":{"description":"The language you want spoken.","type":"string","enum":["arb","cmn-CN","cy-GB","da-DK","de-DE","en-AU","en-GB","en-GB-WLS","en-IN","en-US","es-ES","es-MX","es-US","fr-CA","fr-FR","hi-IN","is-IS","it-IT","ja-JP","ko-KR","nb-NO","nl-NL","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sv-SE","tr-TR"],"example":"en-US"},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"}}},"BridgeRequest":{"type":"object","title":"Bridge request","required":["call_control_id"],"properties":{"call_control_id":{"description":"The call control id of the call you want to bridge with.","type":"string","example":"c8ac9611-25c3-494a-b8b4-2f036a18a6b2"},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"},"park_after_unbridge":{"description":"Specifies behavior after the bridge ends (i.e. the opposite leg either hangs up or is transferred). If supplied with the value 'self', the current leg will be parked after unbridge. If not set, the default behavior is to hang up the leg.","type":"string","example":"self"}}},"CustomSipHeader":{"type":"object","title":"Custom SIP header","required":["name","value"],"properties":{"name":{"description":"The name of the header to add.","type":"string","example":"head_1"},"value":{"description":"The value of the header.","type":"string","example":"val_1"}}},"CallControlAuthenticationResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"},"reasons":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"CallControlAuthenticationDetails":{"required":["webhook_url"],"properties":{"webhook_url":{"type":"string","description":"URL to which Telnyx will deliver your Call Control webhooks"},"failover_url":{"type":"string","description":"URL to which Telnyx will deliver your Call Control webhooks if we get an error response from your webhook_url"},"hangup_on_timeout":{"type":"boolean","description":"If true, Telnyx will hang up the call after the timeout specified by the call_control_timeout parameter"},"call_control_timeout":{"type":"integer","description":"The number of seconds Telnyx should wait before hanging up a call when hangup_on_timeout is set to true"}}},"CallControlXmlAuthenticationResponse":{"required":["success","message"],"properties":{"success":{"type":"boolean"},"message":{"type":"string"},"reasons":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"CallControlXmlAuthenticationDetails":{"required":["xml_request_url"],"properties":{"xml_request_url":{"type":"string","description":"URL to which Telnyx will deliver your XML Translator webhooks"},"xml_failover_url":{"type":"string","description":"URL to which Telnyx will deliver your XML Translator webhooks if we get an error response from your xml_request_url"},"xml_request_method":{"type":"string","description":"Method Telnyx will use to interact with your XML Translator webhooks. Either 'get' or 'post'.","default":"post"}}},"GetAllSimCardsResponse":{"type":"object","title":"GetAllSimCardsResponse","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/SIMCard"}},"metadata":{"$ref":"#/definitions/Metadata"}}},"GetSimCardResponse":{"type":"object","title":"GetSimCardResponse","properties":{"data":{"type":"object","$ref":"#/definitions/SIMCard"}}},"UpdateSimCardResponse":{"type":"object","title":"UpdateSimCardResponse","properties":{"data":{"type":"object","$ref":"#/definitions/SIMCard"}}},"SimCardTagResponse":{"type":"object","title":"SimCardTagResponse","properties":{"data":{"type":"object","$ref":"#/definitions/Tags"}}},"Tags":{"type":"object","title":"Tags","properties":{"tags":{"type":"array","items":{"type":"string"}}}},"SimCardRegisterResponse":{"type":"object","title":"SimCardRegisterResponse","properties":{"data":{"type":"object","$ref":"#/definitions/RegistrationData"}}},"RegistrationData":{"type":"object","title":"RegistrationData","properties":{"failed_registrations":{"type":"array","items":{"type":"string"}},"successful_registrations":{"type":"array","items":{"type":"string"}}}},"SimCardBulkUpdateResponse":{"type":"object","title":"SimCardBulkUpdateResponse","properties":{"failed_updates":{"type":"array","items":{"type":"string","format":"uuid"}},"successful_updates":{"type":"object","$ref":"#/definitions/UpdatedSimCard"}}},"UpdatedSimCard":{"type":"object","title":"UpdatedSimCard","properties":{"enabled":{"type":"boolean","description":"Whether the SIM card is currently enabled or not"},"iccid":{"type":"string","description":"The ICCID of the given card"},"id":{"type":"string","description":"The `id` of the SIM card"},"sim_card_group":{"type":"object","$ref":"#/definitions/SIMCardGroupUpdate","description":"The SIM card group associated with the given card"},"tags":{"type":"array","description":"The searchable tags associated with the SIM card","items":{"type":"string"}},"updated_at":{"type":"string","description":"Timestamp for when the SIM card was last updated"}}},"SIMCardGroupUpdate":{"type":"object","title":"SIMCardGroup","properties":{"id":{"type":"string","description":"The `id` of the SIM card group","format":"uuid"},"name":{"type":"string","description":"The name of the SIM card group"}}},"SimCardPatchRequest":{"type":"object","title":"SIM card updates","properties":{"tags":{"description":"A list of tags for the given SIM card.","type":"array","items":{"type":"string"}},"enabled":{"description":"Whether the SIM card should be enabled or disabled.","type":"boolean"}}},"SimCardGroupCreateRequest":{"type":"object","title":"SIM card group create","properties":{"name":{"description":"The name of the SIM card group.","type":"string"},"billing_plan_id":{"description":"The UUID of the billing plan that should be associated with this SIM card group.","type":"string","format":"uuid"}}},"SimCardGroupUpdateRequest":{"type":"object","title":"SIM card group update","properties":{"name":{"description":"The name of the SIM card group.","type":"string"},"network_id":{"description":"The ID of the network that the SIM card group should associate with.","type":"string"},"billing_plan_id":{"description":"The UUID of the billing plan that should be associated with this SIM card group.","type":"string","format":"uuid"}}},"SimCardOrderRequest":{"type":"object","title":"SIM card order","properties":{"quantity":{"description":"The nunber of SIM card you wish to order.","type":"integer"},"shipping_address":{"type":"object","$ref":"#/definitions/ShippingAddress","description":"The address to which the SIM cards will be shipped to"}}},"SimCardRegisterRequest":{"properties":{"registration_codes":{"description":"A list of SIM card registration codes.","type":"array","items":{"type":"string"}},"sim_card_group_id":{"description":"The SIM card group to which the provided SIM cards should be associated with after registration. If no ID is provided then the SIM cards will be registered to the default SIM card group.","type":"string","format":"uuid"},"tags":{"description":"A list of tags to be applied to the SIM cards after registration.","type":"array","items":{"type":"string"}}}},"BulkUpdateRequest":{"properties":{"ids":{"description":"A list of IDs for which the changes will apply to.","type":"array","items":{"type":"string","format":"uuid"}},"enabled":{"description":"Whether the SIM card should be enabled or disabled.","type":"boolean"},"sim_card_group_id":{"description":"The SIM card group to which all the provided SIM card IDs will be moved to.","type":"string","format":"uuid"},"tags":{"description":"A list of tags to apply to the provided SIM cards.","type":"array","items":{"type":"string"}},"status":{"description":"The SIM card status to which all the provided SIM card IDs will be moved to.","type":"string","enum":["enabled","disabled","standby"]},"authorized_imeis":{"description":"A list of authorized IMEIs that will be applied to all the provided SIM cards.","type":"array","items":{"type":"string"}}}},"GetAllSimCardGroupsResponse":{"type":"object","title":"GetAllSimCardGroupsResponse","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/SIMCardGroup"}},"metadata":{"$ref":"#/definitions/Metadata"}}},"GetSimCardGroupResponse":{"type":"object","title":"GetSimCardGroupResponse","properties":{"data":{"type":"object","$ref":"#/definitions/SIMCardGroup"}}},"GetAllSimCardOrdersResponse":{"type":"object","title":"GetAllSimCardOrdersResponse","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/SIMCardOrder"}},"metadata":{"$ref":"#/definitions/Metadata"}}},"PostSimCardOrdersResponse":{"type":"object","title":"PostSimCardOrdersResponse","properties":{"data":{"type":"object","$ref":"#/definitions/SIMCardOrder"}}},"GetSimCardOrderResponse":{"type":"object","title":"GetSimCardOrderResponse","properties":{"data":{"type":"object","$ref":"#/definitions/SIMCardOrder"}}},"GetAllBillingPlansResponse":{"type":"object","title":"GetAllBillingPlansResponse","properties":{"data":{"type":"array","items":{"$ref":"#/definitions/BillingPlan"}},"metadata":{"$ref":"#/definitions/Metadata"}}},"GetBillingPlanResponse":{"type":"object","title":"GetBillingPlanResponse","properties":{"data":{"type":"object","$ref":"#/definitions/BillingPlan"}}},"SIMCardGroup":{"type":"object","title":"SIMCardGroup","properties":{"id":{"type":"string","description":"The `id` of the SIM card group"},"data_allocation":{"type":"string","description":"The total data allocation for the group in GB"},"ingress_site_id":{"type":"string","description":"The `id` of the site where data will enter the network"},"egress_site_id":{"type":"string","description":"The `id` of the site where data will exit the network"},"created_at":{"type":"string","description":"Timestamp for when the order was created"},"updated_at":{"type":"string","description":"Timestamp for when the order was last updated"}}},"ShippingAddress":{"type":"object","title":"Shipping address information","properties":{"street_line_1":{"type":"string","description":""},"street_line_2":{"type":"string","description":""},"locality":{"type":"string","description":""},"administrative_area":{"type":"string","description":""},"postal_code":{"type":"string","description":""},"extended_address":{"type":"string","description":""},"country_code":{"type":"string","description":""}}},"SIMCardOrder":{"type":"object","title":"SIMCardOrder","properties":{"id":{"type":"string","description":"The `id` of the SIM card order"},"quantity":{"type":"integer","description":"The number of SIM cards ordered"},"shipping_address":{"type":"object","$ref":"#/definitions/ShippingAddress","description":"The address to which the SIM cards will be shipped to"},"sim_group_id":{"type":"string","description":"The `id` of the SIM card group that the SIM card belongs to"},"data_plan_id":{"type":"string","description":"The `id` for the data plan of the SIM card"},"delivery_service":{"type":"string","description":"The service used to deliver the shipment"},"tracking_number":{"type":"string","description":"The tracking number for the order shipment"},"created_at":{"type":"string","description":"Timestamp for when the order was created"},"updated_at":{"type":"string","description":"Timestamp for when the order was last updated"},"order_status":{"type":"string","enum":["pending","ready_to_ship","shipped","delivered"],"description":""}}},"SIMCard":{"type":"object","title":"SIMCard","properties":{"enabled":{"type":"boolean","description":"Whether the SIM card is currently enabled or not"},"iccid":{"type":"string","description":"The ICCID of the given card"},"id":{"type":"string","description":"The `id` of the SIM card"},"sim_card_group":{"type":"object","$ref":"#/definitions/SIMCardGroup","description":"The SIM card group associated with the given card"},"tags":{"type":"array","description":"The searchable tags associated with the SIM card","items":{"type":"string"}},"updated_at":{"type":"string","description":"Timestamp for when the SIM card was last updated"}}},"BillingPlan":{"type":"object","title":"BillingPlan","properties":{"id":{"type":"string","format":"uuid","description":"The `id` of the billing plan"},"data_allocation_per_sim":{"type":"integer","description":"How much data can each SIM card consume"},"default":{"type":"boolean","description":"Is the billing plan the default billing plan"},"inserted_at":{"type":"string","description":"When was the billing plan created"},"name":{"type":"string","description":"The name of the billing plan"},"regions":{"type":"array","description":"The regions for which this billing plan applies","items":{"type":"string"}},"type":{"type":"string","description":"The type of billing plan"},"updated_at":{"type":"string","description":"When was the billing plan last updated"}}},"BillingPlanCreateRequest":{"type":"object","title":"BillingPlanCreate","properties":{"data_allocation_per_sim":{"type":"integer","description":"How much data can each SIM card consume"},"default":{"type":"boolean","description":"Is the billing plan the default billing plan"},"name":{"type":"string","description":"The name of the billing plan"},"regions":{"type":"array","description":"The regions for which this billing plan applies","items":{"type":"string"}},"type":{"type":"string","description":"The type of billing plan"}}},"BillingPlanPatchRequest":{"type":"object","title":"BillingPlanPatch","properties":{"data_allocation_per_sim":{"type":"integer","description":"How much data can each SIM card consume"},"default":{"type":"boolean","description":"Is the billing plan the default billing plan"},"name":{"type":"string","description":"The name of the billing plan"},"regions":{"type":"array","description":"The regions for which this billing plan applies","items":{"type":"string"}},"type":{"type":"string","description":"The type of billing plan"}}},"ConferenceResponse":{"required":["id","name","created_at","expires_at"],"properties":{"id":{"type":"string","description":"Unique identifier of the conference"},"name":{"type":"string","description":"Name of the conference"},"created_at":{"type":"string","description":"ISO 8601 formatted date of when the conference was created"},"expires_at":{"type":"string","description":"ISO 8601 formatted date of when the conference will expire"}}},"CreateConferenceRequest":{"required":["call_control_id","name"],"type":"object","title":"Create Conference request","properties":{"call_control_id":{"description":"Unique identifier and token for controlling the call","type":"string","example":"AgDIxmoRX6QMuaIj_uXRXnPAXP0QlNfXczRrZvZakpWxBlpw48KyZQ=="},"name":{"description":"Name of the conference","type":"string","example":"Business"},"beep_enabled":{"description":"Whether a beep sound should be played to existing participants when another participant joins and/or leaves the conference. Defaults to \"never\".","default":"never","type":"string","enum":["always","never","on_enter","on_exit"],"example":"on_exit"},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"comfort_noise":{"description":"Toggle background comfort noise.","type":"boolean","default":true,"example":false},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"},"duration_minutes":{"description":"Time length (minutes) after which the conference will end.","type":"integer","example":5},"hold_audio_url":{"description":"The URL to an audio file to be played to participants joining the conference. Takes effect only when \"start_conference_on_create\" is set to \"false\".","type":"string","example":"http://www.example.com/audio.wav"},"start_conference_on_create":{"description":"Whether the conference should be started on creation. If the conference isn't started all participants that join are automatically put on hold. Defaults to \"true\".","type":"boolean","example":false}}},"JoinConferenceRequest":{"required":["call_control_id"],"type":"object","title":"Join Conference request","properties":{"call_control_id":{"description":"Unique identifier and token for controlling the call","type":"string","example":"AgDIxmoRX6QMuaIj_uXRXnPAXP0QlNfXczRrZvZakpWxBlpw48KyZQ=="},"client_state":{"description":"Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.","type":"string","example":"aGF2ZSBhIG5pY2UgZGF5ID1d"},"command_id":{"description":"Use this field to avoid duplicate commands. Telnyx will ignore commands with the same \"command_id\".","type":"string","example":"891510ac-f3e4-11e8-af5b-de00688a4901"},"end_conference_on_exit":{"description":"Whether the conference should end and all remaining participant be hung up after the participant leaves the conference. Defaults to \"false\".","type":"boolean","example":true},"hold":{"description":"Whether the participant should be put on hold immediately after joining the conference. Defaults to \"false\".","type":"boolean","example":true},"hold_audio_url":{"description":"The URL of an audio file to be played to the participant when they are put on hold after joining the conference. This property takes effect only if \"hold\" is set to \"true\".","type":"string","example":"http://www.example.com/audio.wav"},"mute":{"description":"Whether the participant should be muted immediately after joining the conference. Defaults to \"false\".","type":"boolean","example":true},"start_conference_on_enter":{"description":"Whether the conference should be started after the participant joins the conference. Defaults to \"false\".","type":"boolean","example":true},"supervisor_role":{"description":"\"barge\" means the supervisor enters the conference as a normal participant. This is the same as \"none\". \"monitor\" means the supervisor is muted but can hear all participants. \"whisper\" means that only the specified \"whisper_call_control_ids\" can hear the supervisor. Defaults to \"none\".\"","type":"string","enum":["whisper","barge","monitor","none"],"example":"whisper"},"whisper_call_control_ids":{"description":"Array of unique call_control_ids that for which the joining supervisor role can whisper to. If none provided, the supervisor will join the conference as a monitoring participant only.","example":["v2:Sg1xxxQ_U3ixxxyXT_VDNI3xxxazZdg6Vxxxs4-GNYxxxVaJPOhFMRQ","v2:Sg1xyxQ_U3ixyxyXT_VDNI3xyxazZdg6Vxyxs4-GNYxyxVaJPOhFMRQ"],"type":"array","items":{"type":"string"}}}},"ConferenceMuteRequest":{"type":"object","title":"Mute Conference participants request","properties":{"call_control_ids":{"description":"List of unique identifiers and tokens for controlling the call. When empty all participants will be muted. An empty array targets all participants.","type":"array","items":{"type":"string"}}}},"ConferenceUnmuteRequest":{"type":"object","title":"Unmute conference participants request","properties":{"call_control_ids":{"description":"List of unique identifiers and tokens for controlling the call. Enter each call control ID to be unmuted.","type":"array","items":{"type":"string"}}}},"ConferenceHoldRequest":{"type":"object","title":"Hold conference participants request","properties":{"call_control_ids":{"description":"List of unique identifiers and tokens for controlling the call. When empty all participants will be placed on hold.","type":"array","items":{"type":"string"}},"audio_url":{"description":"The URL of the file to be played back on the call. The URL can point to either a WAV or MP3 file.","type":"string","example":"http://www.example.com/sounds/greeting.wav"}}},"ConferenceUnholdRequest":{"required":["call_control_ids"],"type":"object","title":"Unhold conference participants request","properties":{"call_control_ids":{"description":"List of unique identifiers and tokens for controlling the call. Enter each call control ID to be unheld.","type":"array","items":{"type":"string"}}}},"ConferenceCommandResponse":{"type":"object","title":"Command response","required":["result"],"properties":{"result":{"type":"string","example":"ok"}}}}}