{"components":{"responses":{},"schemas":{"VoicesResponse":{"description":"Voices","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/VoiceResponse"},"type":"array"}},"title":"VoicesResponse","type":"object"},"AttachSwitchMmsEncryptionKeyRequest":{"description":"Request for attaching a Secret Key to a switch for MMS Encryption","properties":{"data":{"$ref":"#/components/schemas/AttachSwitchMmsEncryptionKeyData"},"type":{"default":"switch","example":"switch","type":"string"}},"required":["data"],"title":"AttachSwitchMmsEncryptionKeyRequest","type":"object"},"RequestType":{"description":"The type of the request denotes what its intention and parameters will be.\n","enum":["ADD_CAMPAIGN_NUMBERS","ADD_DIRECTORY_LISTING_NUMBERS","ADD_E911_NUMBERS","ADD_GOOGLE_VERIFIED_SMS_NUMBERS","ADD_GOOGLE_VERIFIED_VOICE_NUMBERS","ADD_MESSAGING_NUMBERS","ADD_OUTBOUND_CNAME_NUMBERS","ADD_VOICE_NUMBERS","NEW_NUMBERS","NONE","PORT_NUMBERS","PUBLISH_MESSAGING_NUMBERS","REGISTER_BRAND","REGISTER_CAMPAIGN","REGISTER_GOOGLE_VERIFIED_SMS_AGENT","REGISTER_GOOGLE_VERIFIED_SMS_BRAND","REGISTER_GOOGLE_VERIFIED_VOICE_AGENT","REGISTER_GOOGLE_VERIFIED_VOICE_BRAND","REGISTER_RESELLER","REMOVE_CAMPAIGN_NUMBERS","REMOVE_DIRECTORY_LISTING_NUMBERS","REMOVE_E911_NUMBERS","REMOVE_GOOGLE_VERIFIED_SMS_NUMBERS","REMOVE_GOOGLE_VERIFIED_VOICE_NUMBERS","REMOVE_MESSAGING_NUMBERS","REMOVE_NUMBERS","REMOVE_OUTBOUND_CNAME_NUMBERS","REMOVE_VOICE_NUMBERS","RESUBMIT_CAMPAIGN","UNREGISTER_BRAND","UNREGISTER_CAMPAIGN","UNREGISTER_GOOGLE_VERIFIED_SMS_AGENT","UNREGISTER_GOOGLE_VERIFIED_SMS_BRAND","UNREGISTER_GOOGLE_VERIFIED_VOICE_AGENT","UNREGISTER_GOOGLE_VERIFIED_VOICE_BRAND","UNREGISTER_RESELLER","VET_BRAND"],"title":"RequestType","type":"string"},"AttachSwitchSmsEncryptionKeyRequest":{"description":"Request for attaching a Secret Key to a switch for SMS Encryption","properties":{"data":{"$ref":"#/components/schemas/AttachSwitchSmsEncryptionKeyData"},"type":{"default":"switch","example":"switch","type":"string"}},"required":["data"],"title":"AttachSwitchSmsEncryptionKeyRequest","type":"object"},"CreatedApiKey":{"description":"An API key that was newly created","properties":{"active":{"example":true,"type":"boolean"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"identity":{"description":"Acts as the username in the authorization pair for MM4","example":"Z46IWURJGLH5SF3BKKZPXW53TAON6NBX","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"key":{"description":"Token used for HTTP APIs","example":"RBAARJAXGMRJ3AOD55WDO5WKN5GEFZGSZOAGJ27DOYJ22IBRU7W77Z6QKAYXCAXI","type":"string"},"name":{"description":"A friendly name to identify the API Key","example":"My API Key","maxLength":255,"minLength":3,"type":"string"},"notes":{"description":"Any notes about the API Key, like, what it is used for, or other sharable details.\n","example":"This API Key is used for the west datacenter's SMS notifications.","maxLength":65535,"minLength":0,"type":"string"},"secret":{"description":"Acts as the password used for Basic auth","example":"Z46IWURJGLH5SF3BKKZPXW53TAON6NBX","type":"string"},"smpp_secert":{"description":"Used as the password for SMPP connections","example":"FDJX6MO4","type":"string"},"smpp_system_id":{"description":"Small identifier used when authorizing an SMPP connection","example":"EIIGBT24ZH242U5","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","active","name","notes","identity","secert","key","smpp_system_id","smpp_secret"],"title":"CreatedApiKey","type":"object"},"RequestProvisionRecordsResponse":{"description":"Request Provision Records","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/RequestProvisionRecordResponse"},"type":"array"}},"title":"RequestProvisionRecordsResponse","type":"object"},"SystemEventDataCspCampaignOptoutItemCreated":{"description":"`CSP_CAMPAIGN_OPTOUT_ITEM_CREATED`\n\nThe creation of an optout item is the explicit action of a subscriber opting out of receiving\nmessages.\n","properties":{"csp_campaign_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"host_number":{"description":"A reference to the host number that this optout belongs to.\n\nThat is the number that received the optout request.\n","example":"12003004000","type":"string"},"keyword":{"description":"If the optout was triggered by the system, this field will be populated with the keyword\nused.\n\nWill be some variant of STOP normally.\n\nFor more information about keywords and their handling, contact support.\n","example":"STOP","type":"string"},"remote_number":{"description":"The client number that sent the optout, or is opted out of receiving messages from the\nhost number\n","example":"12003004001","type":"string"},"tcr_campaign_id":{"description":"The TCR issued campaign ID","example":"C000000","type":"string"}},"required":["remote_number","tcr_campaign_id","csp_campaign_id"],"title":"SystemEventDataCspCampaignOptoutItemCreated","type":"object"},"VoiceResponse":{"description":"Single voice","properties":{"data":{"$ref":"#/components/schemas/Voice"},"type":{"default":"tts_voice","example":"tts_voice","type":"string"}},"title":"VoiceResponse","type":"object"},"SystemEventDataDidCreated":{"description":"`DID_CREATED`\n","properties":{"did_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"number":{"description":"The 3 to 15 digit code of the number.\n","example":"12003004000","type":"string"},"reason":{"$ref":"#/components/schemas/SystemEventDataDidCreatedReason"},"request_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},"required":["reason","number","did_id"],"title":"SystemEventDataDidCreated","type":"object"},"CspCampaign":{"description":"A TCR campaign","properties":{"attributes":{"properties":{"has_affiliate_marketing":{"type":"boolean"},"has_age_gated_content":{"type":"boolean"},"has_direct_lending":{"type":"boolean"},"has_embedded_link":{"type":"boolean"},"has_embedded_phone_number":{"type":"boolean"},"has_number_pooling":{"type":"boolean"},"has_subscriber_help":{"type":"boolean"},"has_subscriber_opt_in":{"type":"boolean"},"has_subscriber_opt_out":{"type":"boolean"},"has_terms_and_conditions":{"type":"boolean"}},"type":"object"},"dca_approved":{"description":"Whether or not the campaign has been approved by the DCA","example":true,"type":"boolean"},"description":{"description":"Description of the campaign","example":"The original description provided to TCR.\n","type":"string"},"embedded_link_sample":{"example":"https://example.com/something","type":"string"},"help_keywords":{"example":"HELP","type":"string"},"help_message":{"type":"string"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"message_flow":{"type":"string"},"name":{"description":"A display name to identify the campaign.\n\nIn the case of `SHARED` campaigns, the name is typically taken from the description and\ntruncated to fit the length requirements.\n","example":"Receive 2FA Codes over SMS","maxLength":255,"minLength":1,"type":"string"},"notes":{"description":"Any notes about the campaign.\n\nIn the case of `SHARED` campaigns the notes may always be empty.\n","type":"string"},"optin_keywords":{"example":"START,SUBSCRIBE","type":"string"},"optin_message":{"type":"string"},"optout_keywords":{"example":"STOP,UNSUBSCRIBE","type":"string"},"optout_message":{"type":"string"},"privacy_policy_link":{"example":"https://example.com/privacy","type":"string"},"sample_messages":{"description":"The overall format or example of messages that the campaign will send.\n\nNote that different usecases may require more samples.\n","items":{"description":"A sample message","type":"string"},"maxItems":5,"minItems":0,"type":"array"},"shared":{"description":"Was this campaign created directly or is a partner campaign.\n\n* `NO` - Should be treated the same as OWNED\n* `OWNED` - The campaign was created on site and belongs to this system\n* `PARTNER` - The campaign originates from outside of the system\n","enum":["NO","OWNED","PARTNER"],"type":"string"},"sub_use_case":{"description":"Additional usecases for a campaign","items":{"description":"Campaign Usecase, see CSP Enums for possible values","example":"2FA","type":"string"},"type":"array"},"tcr_brand_id":{"description":"The brand the campaign is attached to","example":"B000000","type":"string"},"tcr_campaign_id":{"description":"The TCR issued campaign ID","example":"C000000","type":"string"},"tcr_csp_id":{"description":"The owning campaign service provider ID","example":"S000000","type":"string"},"tcr_reseller_id":{"description":"TCR Issued Reseller ID","example":"R000000","type":"string"},"tcr_status":{"description":"TCR Activation Status","example":"ACTIVE","type":"string"},"terms_and_conditions_link":{"example":"https://example.com/terms_and_conditions","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"use_case":{"description":"Campaign Usecase, see CSP Enums for possible values","example":"MIXED","type":"string"}},"required":["id","inserted_at","updated_at","name","tcr_csp_id","tcr_brand_id","tcr_campaign_id","dca_approved"],"title":"CspCampaign","type":"object"},"CspVettingFeedbackCode":{"description":"CSP Vetting Feedback Code","properties":{"code":{"type":"string"},"name":{"type":"string"}},"title":"CspVettingFeedbackCode","type":"object"},"CDRResponse":{"description":"Single CDR record","properties":{"associations":{"properties":{"api_key":{"properties":{"id":{"description":"The UUID of the API Key associated with the CDR.\n\nAPI Key may not be populated in some cases where an API is not readily available.\n\nFor example CDRs for INBOUND messages will typically not have their API Key populated.\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"type":"object"}},"type":"object"},"data":{"$ref":"#/components/schemas/CDR"},"type":{"default":"cdr","example":"cdr","type":"string"}},"title":"CDRResponse","type":"object"},"UpdateSecretKeyRequest":{"description":"Request for update an existing Secret Key","properties":{"data":{"$ref":"#/components/schemas/UpdateSecretKeyData"},"type":{"default":"secret_key","example":"secret_key","type":"string"}},"required":["data"],"title":"UpdateSecretKeyRequest","type":"object"},"CDRType":{"description":"The main category that the CDR belongs to.\n\n* `API` - API associated CDRs, such as LRN, MCL, CNAM etc...\n* `MMS` - MMS CDRs for inbound and outbound messages.\n* `SMS` - SMS CDRs for inbound and outbound messages.\n* `VOICE` - Voice or VoIP CDRs.\n* `BALANCE` - CDRs for direct balance changes\n* `MISC` - For infrequent charges or those that don't fit neatly into larger categories.\n* `BYO` - Special case VoIP services CDRs.\n","enum":["API","MMS","SMS","VOICE","BALANCE","MISC","BYO"],"title":"CDRType","type":"string"},"RequestDocumentResponse":{"description":"Request Document","properties":{"data":{"$ref":"#/components/schemas/RequestDocument"},"type":{"default":"request_document","example":"request_document","type":"string"}},"title":"RequestDocumentResponse","type":"object"},"SharedResourceGroup":{"description":"A Shared Resource Group","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"description":"The display name of the resource group\n","example":"ACME Corp Shared Resources","type":"string"},"notes":{"description":"Any additional notes about the shared resource group.\n","example":"","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","name"],"title":"SharedResourceGroup","type":"object"},"CartRequestRemoveCampaignNumbersData":{"description":"Request for removing numbers from an existing campaign.\n","properties":{"numbers":{"description":"A list of NANP 11-digit numbers to disable messaging for","items":{"example":"12003004000","type":"string"},"type":"array"}},"required":["numbers"],"title":"CartRequestRemoveCampaignNumbersData","type":"object"},"CspVettingProvider":{"description":"CSP Vetting Provider","properties":{"displayName":{"example":"Demo Vetting Provider","type":"string"},"evpId":{"example":"DEMO_EVP","type":"string"},"tcrBillable":{"example":true,"type":"boolean"},"vettingClasses":{"items":{"example":"STANDARD","type":"string"},"type":"array"},"vettingInstruction":{"format":"json","type":"string"}},"title":"CspVettingProvider","type":"object"},"OnDoneActions":{"description":"A list of sub-tasks that should be executed during the DELIVERING status of the task.\n\nThese can include:\n* Notifying a specified endpoint about the completion of the task\n* Delivering the exported file to a specified endpoint\n* Doing nothing at all\n","items":{"$ref":"#/components/schemas/OnDoneAction"},"title":"OnDoneActions","type":"array"},"CreateExportTaskRequest":{"description":"Request for creating a new CDR Export Task","properties":{"data":{"$ref":"#/components/schemas/CreateExportTaskData"},"type":{"default":"call_data_export_task","example":"call_data_export_task","type":"string"}},"required":["data"],"title":"CreateExportTaskRequest","type":"object"},"CspCampaignSharingConflictErrorsObject":{"description":"An object representing a single sharing conflict error.\n\nSharing conflicts take place when a request attempts to replace the shared resource group for\na campaign.\n","properties":{"code":{"description":"Contains static error code representing the error\n","enum":["conflict.changing_shared_resource_group"],"example":"conflict.changing_shared_resource_group","type":"string"},"detail":{"description":"Contains dynamic description of the error","example":"Cannot change shared resource group","type":"string"},"params":{"description":"Contains additional parameters based on the permission error","properties":{},"type":"object"},"sub_code":{"description":"Some codes may have sub codes that further describe an error.\n","example":"none","type":"string"},"title":{"description":"A user friendly title for the error.","example":"Conflict","type":"string"}},"required":["title","detail","code"],"title":"CspCampaignSharingConflictErrorsObject","type":"object"},"UpsertDestinationData":{"description":"Parameters for creating or updating a Number Destination","properties":{"activated":{"description":"Whether or not the destination is considered for routing","example":true,"type":"boolean"},"auth_identity":{"description":"The username for a BASIC auth_method","example":"username","type":"string"},"auth_method":{"description":"The authorization method to used for HTTP_ROUTE destinations","enum":["NONE","BASIC","BEARER"],"example":"BASIC","type":"string"},"auth_secret":{"description":"The password for a BASIC auth_method or token for BEARER auth_method","example":"password","type":"string"},"destination":{"description":"Depending on the type, this field can contain different data.\n\n* `VOIP` - destination should be in the form of `local@domain` where local is the destination prefix and domain is the SIP capable server to handle the request\n* `PSTN` - destination should be a plain format number (e.g. 12003004000), can also be a comma separated list to allow multiple destinations\n* `HTTP_ROUTE` - destination should be an http uri which will handle the routing request\n* `TTS` - destination should be one of the pre-approved values (more may be added in the future):\n  * `DISCONNECTED`\n  * `TEXT_ONLY`\n  * `BUSY`\n  * `CONGESTION`\n* `TTS_CUSTOM` - destination should be the message to be read\n* `TTS_MESSAGE_SET` - destination will be set to \"UNUSED\" regardless of provided value, instead the tts_message_set_id MUST be set on the request\n","example":"http://example.com/http/route/call","type":"string"},"priority":{"description":"Affects the ordering of destinations for calls, 1 will be first while 9 is the last","example":1,"type":"integer"},"tts_message_set_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"type":{"description":"The destination type, see destination field for more detail","enum":["VOIP","PSTN","HTTP_ROUTE","TTS","TTS_CUSTOM","TTS_MESSAGE_SET"],"example":"HTTP_ROUTE","type":"string"}},"title":"UpsertDestinationData","type":"object"},"CreateCallDataWebhookData":{"description":"Parameters for creating a new Call Data Webhook.\n","properties":{"auth_identity":{"description":"Acts a the username in an authorization pair, only applicable if the auth method is `BASIC`.\n","type":"string"},"auth_method":{"default":"NONE","description":"Depending on the protocol, this will affect the authorization behaviour.\n\n* `NONE` - no authorization is provided if not required, otherwise placeholder values will be used\n* `BASIC` - the `auth_identity` acts as the username while the `auth_secret` acts as the password\n  * With `HTTP` - an `Authorization: Basic <BASE64-VALUE>` header will be set\n  * With `SFTP` - the session will be authenticated using the `auth_identity` and `auth_secret`\n* `BEARER` - the `auth_identity` is ignored and only the `auth_secret` is used verbatim\n  * With `HTTP` - an `Authorization: Bearer <VALUE>` header will be set\n  * with `SFTP` - the username will be a placeholder value and the password will be set\n","enum":["NONE","BASIC","BEARER"],"type":"string"},"auth_name":{"description":"Reserved for other protocols that may require additional auth information.\n","type":"string"},"auth_secret":{"description":"Acts as the password in an authorization pair, if using `BEARER`, it will be the verbatim token.\n","type":"string"},"custom_headers":{"description":"A list of custom header values that should be sent on the `HTTP` request.\n\nHeaders are currently unused if the protocol is not `HTTP`.\n","items":{"properties":{"key":{"example":"x-my-header","type":"string"},"value":{"example":"Anything","type":"string"}},"type":"object"},"type":"array"},"custom_query_params":{"description":"A list of custom query parameters that should be sent on the `HTTP` request.\n\nThese are currently unused if the protocol is not `HTTP`.\n","items":{"properties":{"key":{"example":"x-my-header","type":"string"},"value":{"example":"Anything","type":"string"}},"type":"object"},"type":"array"},"data":{"description":"Depending on the protocol, this will contain the url or address of the endpoint.\n\nFor HTTP, it will be an http url, as for SFTP, it will be the hostname and optionally the port.\n\n* `HTTP` - (e.g. \"http://example.com/path/to/upload\")\n* `SFTP` - (e.g. \"sftp://sftp.example.com/path/to/upload\")\n","type":"string"},"name":{"description":"A display name for the call data webhook, used purely for identifying it.\n","example":"CDR Webhook us-east","maxLength":255,"minLength":1,"type":"string"},"notes":{"description":"Any notes or details about the call data webhook.\n","maxLength":65535,"minLength":0,"type":"string"},"protocol":{"default":"NONE","description":"The transport protocol which should be used to send\n\n* `NONE` - Effectively a no-op.\n* `HTTP` - Send CDRs over HTTP.\n* `SFTP` - Upload CDRs over SFTP.\n","enum":["NONE","HTTP","SFTP"],"type":"string"}},"required":["name"],"title":"CreateCallDataWebhookData","type":"object"},"CreateSecretKeyRequest":{"description":"Request for update an existing Secret Key","properties":{"data":{"$ref":"#/components/schemas/CreateSecretKeyData"},"type":{"default":"secret_key","example":"secret_key","type":"string"}},"required":["data"],"title":"CreateSecretKeyRequest","type":"object"},"CallDataWebhook":{"description":"A Call Data Webhook is a registered endpoint where CDRs should be sent once billed by the system.\n\nPrior to July 6, 2026, this would ONLY send SMS and MMS CDRs.\n\nBulk Dip Tasks can be configured to send their generated CDRs with a `enable_cdr_export` flag.\n\nLRN, CNAM and MRL can similarly be enabled with the same flag: `enable_cdr_export` on the request.\n","properties":{"auth_identity":{"description":"Acts a the username in an authorization pair, only applicable if the auth method is `BASIC`.\n","type":"string"},"auth_method":{"default":"NONE","description":"Depending on the protocol, this will affect the authorization behaviour.\n\n* `NONE` - no authorization is provided if not required, otherwise placeholder values will be used\n* `BASIC` - the `auth_identity` acts as the username while the `auth_secret` acts as the password\n  * With `HTTP` - an `Authorization: Basic <BASE64-VALUE>` header will be set\n  * With `SFTP` - the session will be authenticated using the `auth_identity` and `auth_secret`\n* `BEARER` - the `auth_identity` is ignored and only the `auth_secret` is used verbatim\n  * With `HTTP` - an `Authorization: Bearer <VALUE>` header will be set\n  * with `SFTP` - the username will be a placeholder value and the password will be set\n","enum":["NONE","BASIC","BEARER"],"type":"string"},"auth_name":{"description":"Reserved for other protocols that may require additional auth information.\n","type":"string"},"auth_secret":{"description":"Acts as the password in an authorization pair, if using `BEARER`, it will be the verbatim token.\n","type":"string"},"custom_headers":{"description":"A list of custom header values that should be sent on the `HTTP` request.\n\nHeaders are currently unused if the protocol is not `HTTP`.\n","items":{"properties":{"key":{"example":"x-my-header","type":"string"},"value":{"example":"Anything","type":"string"}},"type":"object"},"type":"array"},"custom_query_params":{"description":"A list of custom query parameters that should be sent on the `HTTP` request.\n\nThese are currently unused if the protocol is not `HTTP`.\n","items":{"properties":{"key":{"example":"x-my-header","type":"string"},"value":{"example":"Anything","type":"string"}},"type":"object"},"type":"array"},"data":{"description":"Depending on the protocol, this will contain the url or address of the endpoint.\n\nFor HTTP, it will be an http url, as for SFTP, it will be the hostname and optionally the port.\n\n* `HTTP` - (e.g. \"http://example.com/path/to/upload\")\n* `SFTP` - (e.g. \"sftp://sftp.example.com/path/to/upload\")\n","type":"string"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"description":"A display name for the call data webhook, used purely for identifying it.\n","example":"CDR Webhook us-east","maxLength":255,"minLength":1,"type":"string"},"notes":{"description":"Any notes or details about the call data webhook.\n","maxLength":65535,"minLength":0,"type":"string"},"protocol":{"default":"NONE","description":"The transport protocol which should be used to send\n\n* `NONE` - Effectively a no-op.\n* `HTTP` - Send CDRs over HTTP.\n* `SFTP` - Upload CDRs over SFTP.\n","enum":["NONE","HTTP","SFTP"],"type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","name","notes","protocol","auth_method"],"title":"CallDataWebhook","type":"object"},"OrderErrorCode":{"description":"An error code further describes what issues an order or request may have had.\n\n* `OK` - there were no issues, this is the most common error code.\n* `NOT_IMPLEMENTED` - unlikely to happen, but in the case of requests that have not been implemented, this will be set.\n* `RETRIES_EXHAUSTED` - the order or request has attempted to complete processing enough times to exhaust all of its retries.\n* `RECORD_CONFLICT` - there was a conflict with another order or request and the request could not completed as a result.\n* `OWNERSHIP_MISMATCH` - an order or request was created which would modify the resource of another account, and has refused to process.\n* `MESSAGING_UNAVAILABLE` - the request required the target resource have messaging enabled, but it was not.\n* `INVALID_EMAIL_ADDRESS` - the request required an email address for operation but found it to be invalid, either due to secondary validations or upstream.\n* `INVALID_PHONE_NUMBER` - the request required a phone number (typically for addressing purposes), but it was found to be invalid.\n* `INVALID_ADDRESS` - the request required a valid address but it was found to be invalid.\n* `LOA_REQUIRED` - the request requires an loa to release the number from its original provider, or may be known to require additional action\n* `DID_NOT_FOUND` - the did or number specified was not found and the request cannot be completed.\n* `ASSOCIATED_WITH_DIDS` - the resource is still associated with a did or number and cannot be modified (typically a removal).\n* `BRAND_NOT_FOUND` - the CSP Brand specified was not found and the request cannot be completed.\n* `UPSTREAM_ERROR` - an unspecified upstream error has prevented the request from being completed, this will typically be resolved by support personel.\n* `UPSTREAM_INTERNAL_ERROR` - the upstream has an internal error, this typically gets resolved by itself, but if it persists please contact support.\n* `UPSTREAM_TEMPORARY_ERROR` - the upstream has a temporary, this can happen for a myriad of reasons but will typically be resolved with some time.\n* `UPSTREAM_PARAMETER_ERROR` - similar to an `UPSTREAM_ERROR`, but the issue is known to be with the upstream request itself, will typically be fixed within twenty-four hours.\n* `UPSTREAM_RECORD_NOT_OWNED` - the upstream resource in question has changed ownership since last known, typically happens when a number has been ported without triggering a eco-system event.\n* `UPSTREAM_RECORD_NOT_FOUND` - the upstream resource does not exist, or it used to but was removed without warning.\n* `UPSTREAM_REJECTED` - the upstream has rejected the request.\n","enum":["OK","NOT_IMPLEMENTED","RETRIES_EXHAUSTED","RECORD_CONFLICT","OWNERSHIP_MISMATCH","MESSAGING_UNAVAILABLE","INVALID_EMAIL_ADDRESS","INVALID_PHONE_NUMBER","INVALID_ADDRESS","LOA_REQUIRED","DID_NOT_FOUND","ASSOCIATED_WITH_DIDS","BRAND_NOT_FOUND","UPSTREAM_ERROR","UPSTREAM_INTERNAL_ERROR","UPSTREAM_TEMPORARY_ERROR","UPSTREAM_PARAMETER_ERROR","UPSTREAM_RECORD_NOT_OWNED","UPSTREAM_RECORD_NOT_FOUND","UPSTREAM_REJECTED"],"example":"OK","title":"OrderErrorCode","type":"string"},"Message":{"description":"A TTS Message contains the text 'body' and is associated with a TTS Voice.\n","properties":{"body":{"description":"The text that should be read","example":"Hello, World!","maxLength":4096,"minLength":1,"type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"priority":{"description":"The order in which messages should be played back, messages with the same priority will be randomized","example":1,"type":"integer"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","body"],"title":"Message","type":"object"},"SystemEventDataOrderCompleted":{"description":"`ORDER_COMPLETED`\n\nThis event is sent whenever an `ORDER` is considered complete, not necessarily `COMPLETED`.\n\nThe `requests` associations will be included in the parent System Event.\n\nNote the `requests` association do not include their PVRs, you must have the REQUEST topic enabled to receive those details.\n","example":{"error_code":"OK","order_id":"01EH2Y28M6KXG14QMPM3HSP1Y0","status":"COMPLETED"},"properties":{"error_code":{"$ref":"#/components/schemas/OrderErrorCode"},"order_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"status":{"$ref":"#/components/schemas/OrderStatus"}},"required":["status","error_code","order_id"],"title":"SystemEventDataOrderCompleted","type":"object"},"UpdateNumberRequest":{"description":"Update an existing number","properties":{"data":{"$ref":"#/components/schemas/UpdateNumberData"},"type":{"default":"number","example":"number","type":"string"}},"required":["data"],"title":"UpdateNumberRequest","type":"object"},"MessageSetResponse":{"description":"Single message set","properties":{"data":{"$ref":"#/components/schemas/MessageSet"},"type":{"default":"tts_message_set","example":"tts_message_set","type":"string"}},"title":"MessageSetResponse","type":"object"},"CspMnosResponse":{"description":"CSP MNOs","items":{"description":"MNO","properties":{"displayName":{"type":"string"},"networkId":{"type":"number"},"osrBitmaskindex":{"type":"number"}},"type":"object"},"title":"CspMnosResponse","type":"array"},"CreateUserRequest":{"description":"Request for creating a new User","properties":{"data":{"$ref":"#/components/schemas/CreateUserData"},"type":{"default":"user","example":"user","type":"string"}},"required":["data"],"title":"CreateUserRequest","type":"object"},"MessageResponse":{"description":"Single message","properties":{"data":{"$ref":"#/components/schemas/Message"},"type":{"default":"tts_message","example":"tts_message","type":"string"}},"title":"MessageResponse","type":"object"},"SystemEventDataDidDeletedReason":{"description":"The reason a DID was deleted.\n","enum":["UNKNOWN","DELETED_FROM_REGISTRY","DELETED_MANUALLY","DELETED_BY_REQUEST"],"title":"SystemEventDataDidDeletedReason","type":"string"},"CspBrandsResponse":{"description":"Brands","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/CspBrandResponse"},"type":"array"}},"title":"CspBrandsResponse","type":"object"},"UpdateNumberData":{"description":"Parameters for updating a number","properties":{"description":{"description":"Any notes to attach to the number.\n","example":"Test number used for XYZ.Corp\n","type":"string"},"forward_number":{"description":"When this DID receives an inbound message, the message will be routed to the specified `forward_number`.\n\nNote. using forward_number or its switch equivalent will charge the account for 2 messages, instead of 1:\n* Once for the inbound (to the host number)\n* Again for the outbound (from the host number to the forward number)\n\nIf this field is nil, or blank the `sms_switch` will be used for routing instead\n","example":"12003004000","type":"string"},"help_message":{"description":"Custom HELP Message that should be sent when an inbound message matching \"HELP\" is received.\n\nFor help messages longer than 255 characters, they must handled by the receiver.\n","example":"Available Keywords are: HELP, SUBSCRIBED, UNSUBSCRIBE.","maxLength":255,"minLength":0,"type":"string"},"mms_enabled":{"description":"Whether or not the number is MMS capable, does not affect SMS or SMS to MMS upgrades.\n","example":true,"type":"boolean"},"segment_overrides":{"description":"While the segment_threshold can be used to apply to all outgoing sms messages, sometimes\nits required to tailor fit an upgrade to a particular carrier.\n\nNote, when updating the segment_overrides, all overrides must be provided for the did, any unspecified overrides will be removed.\n","items":{"properties":{"encoding":{"description":"The SMS encoding that this override should trigger on.\n","example":0,"type":"integer"},"id":{"description":"The UUID of the specific segment override, required when changing an existing override.\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"segment_threshold":{"description":"See number's segment_threshold for more information.\n","type":"integer"},"target_reference_id":{"description":"Internal reference_id for a carrier, contact support for details or\nif a required carrier is not available.\n\nReference ids tend to have the form:\n\n    <country_code>_<name>\n\n  Example:\n\n    us_tmobile\n    ca_rogers\n    dm_digicel\n\n","example":"us_tmobile","type":"string"}},"type":"object"},"type":"array"},"segment_threshold":{"default":0,"description":"How many segments should a outgoing message have before it triggers an MMS upgrade.\n\nContact support to learn more about MMS upgrades.\n\n0 will disable upgrades, any value greater than 1 will trigger an upgrade when that many sms\nsegments would have been sent.\n\nUpgrades only apply to HTTP originated traffic, customers using SMPP will not for outbound\nare not subject to upgrades.\n","example":1,"type":"integer"},"upgrade_asset_handling":{"description":"The asset handling flag for SMS Upgrades","enum":["FALLBACK","OFF","ALWAYS_UPGRADE","SEGMENT_UPGRADE"],"type":"string"}},"title":"UpdateNumberData","type":"object"},"CartRequestRemoveMessagingNumbersData":{"description":"Request for disabling messaging on existing numbers.\n\nNote that this will also remove numbers from their campaign automatically.\n","properties":{"numbers":{"description":"A list of NANP 11-digit numbers to disable messaging for","items":{"example":"12003004000","type":"string"},"type":"array"}},"required":["numbers"],"title":"CartRequestRemoveMessagingNumbersData","type":"object"},"CspCampaignUnsharingConflictErrorsResponse":{"description":"Errors Response when a sharing conflict is present","properties":{"errors":{"description":"A list of errors from the request","items":{"$ref":"#/components/schemas/CspCampaignUnsharingConflictErrorsObject"},"type":"array"}},"title":"CspCampaignUnsharingConflictErrorsResponse","type":"object"},"RequestRemoveVoiceNumbersData":{"description":"Request for removing voice BYOC (Bring Your Own Carrier) numbers.","example":{"numbers":["12003004000"]},"properties":{"numbers":{"description":"A list of NANP 11-digit numbers to remove","items":{"example":"12003004000","type":"string"},"type":"array"}},"required":["numbers"],"title":"RequestRemoveVoiceNumbersData","type":"object"},"CspVettingProvidersResponse":{"description":"CSP Vetting Providers","items":{"$ref":"#/components/schemas/CspVettingProvider"},"title":"CspVettingProvidersResponse","type":"array"},"MessageSetsResponse":{"description":"Message Sets","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/MessageSetResponse"},"type":"array"}},"title":"MessageSetsResponse","type":"object"},"RequestDocumentsResponse":{"description":"Request Documents","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/RequestDocumentResponse"},"type":"array"}},"title":"RequestDocumentsResponse","type":"object"},"OptoutItemsResponse":{"description":"Number Optout Items","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/OptoutItemResponse"},"type":"array"}},"title":"OptoutItemsResponse","type":"object"},"AttachSwitchSmsEncryptionKeyData":{"description":"Parameters for attaching a Secret Key to a Switch for SMS Encryption","properties":{"sms_encryption_method":{"$ref":"#/components/schemas/SwitchEncryptionMethod"}},"title":"AttachSwitchSmsEncryptionKeyData","type":"object"},"UpsertNumberClientSuspensionData":{"description":"Parameters for creating a Number Client Suspension","properties":{"block_direction":{"description":"What direction messages should be blocked to this number, suspensions may apply to\ninbound or outbound.\n\nOn INBOUND, messages will NOT be sent to the endpoint but will be charged.\nOn OUTBOUND, inflight messages will NOT be sent to their destinations (note they would have already been charged).\nNew OUTBOUND messages will be rejected at the their edge (API, SMPP or other methods).\n\nBOTH applies all rules.\n","enum":["NONE","INBOUND","OUTBOUND","BOTH"],"type":"string"},"block_messaging":{"description":"What type of messaging should be blocked by this suspension?\n","enum":["NONE","SMS","MMS","ALL"],"type":"string"},"block_voip":{"description":"Calls originating or terminating to the host number may not be terminated to the configured destinations while blocks are in place.\n\nThe system MAY choose to answer calls to remain compliant even if a suspension is present.\n","enum":["NONE","ORIGINATION","TERMINATION","ALL"],"type":"string"},"notes":{"description":"Any notes on the suspension.\n","example":"Suspended due to carrier complaint.","type":"string"}},"title":"UpsertNumberClientSuspensionData","type":"object"},"SystemEventDataOsrOverwriteRequestPending":{"description":"`OSR_OVERWRITE_REQUEST_PENDING`\n","properties":{"did_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"error_code":{"description":"Further explanation of an error status","enum":["OK"],"example":"OK","type":"string"},"new_nnid_service_provider":{"description":"","example":"ACME Corp","type":"string"},"number":{"description":"The 3 to 15 digit code of the number.\n","example":"12003004000","type":"string"},"osr_overwrite_request_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"review_status":{"description":"The review status of the request, defaults to NONE.","enum":["NONE","APPROVED","REJECTED","AUTO_APPROVED","AUTO_REJECTED","FORCE_DELETED"],"example":"NONE","type":"string"},"status":{"description":"The current processing status of the request","enum":["NEW","REVIEWED","APPROVED","REJECTED","ERROR","STALE","DELETED"],"example":"NEW","type":"string"}},"title":"SystemEventDataOsrOverwriteRequestPending","type":"object"},"SecretKey":{"description":"An set of authorization details for various APIs","example":{"data":"ZA2ImD5VVXKyHgrTmJYj6Wd/1jNCMgUPlHAywDy2T2Y=","id":"a1a07e4d-1a16-4ff2-b579-a28ec4e1e96a","inserted_at":"2021-08-12T20:48:48.535403Z","name":"SMS Secret Key","notes":"This secret key is used to sign SMS messages","size":32,"updated_at":"2021-08-12T20:48:48.535403Z","usage":"SIGNING"},"properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"description":"A friendly name to identify the Secret Key","example":"My Secret Key","maxLength":255,"minLength":3,"type":"string"},"notes":{"description":"Any notes about the Secret Key, like, what it is used for, or other sharable details.\n","example":"This Secret Key is used for the west datacenter's SMS notifications.","maxLength":65535,"minLength":0,"type":"string"},"size":{"description":"The size of the key that should be created in bytes, or the size of the key in the system.\n\nDifferent use cases or methods will require different length keys.\n","enum":[16,24,32,48,64],"example":32,"type":"number"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"usage":{"description":"What is the intended usage of the Secret Key, this will bar it from being used for other cases.\n\nNONE is placeholder or temporary disablement state reserved for internal usage.\n\nOnly SIGNING and ENCRYPTION can be used otherwise.\n","enum":["NONE","SIGNING","ENCRYPTION"],"example":"SIGNING","type":"string"}},"required":["id","inserted_at","updated_at","name","usage","size"],"title":"SecretKey","type":"object"},"RequestNewNumbersData":{"description":"Request for acquiring new numbers.","properties":{"addons":{"$ref":"#/components/schemas/AddonsData"},"city":{"type":"string"},"min_quantity":{"description":"Sometimes there are legitimately not enough numbers to fill the order.\n\nThe `min_quantity` or minimum quantity informs the system if you are willing to tolerate a smaller quantity.\n","example":10,"minimum":1,"type":"integer"},"npa":{"description":"The 3 digit Area Code.\n","example":"202","type":"string"},"number_type":{"description":"The wanted number type either TENDLC or TOLLFREE.\n\nNONE is effectively a no-op or null.\n","enum":["NONE","TENDLC","TOLLFREE"],"type":"string"},"numbers":{"description":"If the numbers that should be provisioned are known ahead of time, they can be provided in\nthis field, however normally you'll want to avoid using this due to reservations.\n","items":{"example":"12004005000","format":"tel","type":"string"},"type":"array"},"nxx":{"description":"The 3 digit Exchange Code.\n","example":"203","type":"string"},"quantity":{"description":"The maximum numbers that should be requested based on the search criteria.\n\nThis pairs with `min_quantity` to form a range.\n","example":10,"minimum":1,"type":"integer"},"rate_center":{"description":"The rate center code.\n","example":"NPLSFLGF3MD","type":"string"},"state":{"description":"The 2 character state code, such as FL for Florida.\n","example":"FL","type":"string"}},"required":["number_type","quantity"],"title":"RequestNewNumbersData","type":"object"},"CreateMessageSetRequest":{"description":"Request for creating a new tts message set","properties":{"data":{"$ref":"#/components/schemas/UpsertMessageSetData"},"type":{"default":"tts_message_set","example":"tts_message_set","type":"string"}},"required":["data"],"title":"CreateMessageSetRequest","type":"object"},"CartRequestUnregisterBrandData":{"description":"Request for unregistering a TCR Brand.\n\nEither the `brand_id` (UUID) or the `tcr_brand_id` can be provided to lookup the brand for\nremoval.\n","oneOf":[{"properties":{"tcr_brand_id":{"description":"TCR issued Brand ID","example":"B000000","type":"string"}},"required":["tcr_brand_id"],"type":"object"},{"properties":{"brand_id":{"description":"Internal UUID","example":"89900e23-aafc-4b03-954d-0b11d3948042","format":"uuid","type":"string"}},"required":["brand_id"],"type":"object"}],"properties":{},"title":"CartRequestUnregisterBrandData","type":"object"},"CreateOptoutItemRequest":{"description":"Request for creating a new Number Optout Item","properties":{"data":{"$ref":"#/components/schemas/CreateOptoutItemData"},"type":{"default":"number_optout_item","example":"number_optout_item","type":"string"}},"required":["data"],"title":"CreateOptoutItemRequest","type":"object"},"CreateUserData":{"description":"Request Data when create a new user.\n\nThe password is optional if the user is not intended to be used for login.\n\nThis is recommended for impersonated users who will only be used for API Key based access.\n","properties":{"address":{"description":"User Address details, may differ from top-level details\n","properties":{"address1":{"type":"string"},"address2":{"type":"string"},"business_name":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"email":{"type":"string"},"fax_number":{"type":"string"},"first_name":{"type":"string"},"house_number":{"type":"string"},"last_name":{"type":"string"},"notes":{"type":"string"},"phone_number":{"type":"string"},"state":{"type":"string"},"zip_code":{"type":"string"}},"type":"object"},"email":{"description":"User's email\n","example":"john.doe@example.com","format":"email","type":"string"},"first_name":{"description":"User's first name\n","example":"John","type":"string"},"last_name":{"description":"User's last name\n","example":"Doe","type":"string"},"password":{"description":"User's login password\n","type":"string"},"password_confirmation":{"description":"User's login password (for confirmation)\n","type":"string"},"title":{"description":"User's job title, or position\n","example":"Operator","type":"string"}},"required":["first_name","last_name","email"],"title":"CreateUserData","type":"object"},"RequestVetBrandData":{"description":"Request for vetting a TCR Brand.","example":{},"properties":{"brand_id":{"description":"Internal UUID","example":"89900e23-aafc-4b03-954d-0b11d3948042","format":"uuid","type":"string"},"tcr_brand_id":{"description":"TCR issued Brand ID","example":"B000000","type":"string"},"tcr_evp_id":{"description":"The External Vetting Provider that should perform the brand's vetting.\n","example":"AEGIS","type":"string"},"vetting_class":{"description":"Depending on the selected vetting provider, the available vetting classes may change.\n","example":"STANDARD","type":"string"}},"title":"RequestVetBrandData","type":"object"},"CartRequestRemoveVoiceNumbersData":{"description":"Request for removing voice-only numbers.\n\nVoice-only numbers are typically enabled using `ADD_VOICE_NUMBERS`.\n","properties":{"numbers":{"description":"A list of NANP 11-digit numbers to remove","items":{"example":"12003004000","type":"string"},"type":"array"}},"required":["numbers"],"title":"CartRequestRemoveVoiceNumbersData","type":"object"},"CreateMessageRequest":{"description":"Request for creating a new tts message","properties":{"data":{"$ref":"#/components/schemas/UpsertMessageData"},"type":{"default":"tts_message","example":"tts_message","type":"string"}},"required":["data"],"title":"CreateMessageRequest","type":"object"},"SwitchSigningHash":{"description":"Signs the request with the configured signing key for the respective message type.\n\nSigning does NOT replace the auth_method like the `HMAC_SHA256` method would, instead additional headers will be added to the request.\n\nSigning happens AFTER the payload has already been encrypted, to reverse the operation, check the signature first, then decrypt.\n\n* `NONE` - No signature is generated for requests\n\nThese should be self-explanatory:\n* `SHA2_256`\n* `SHA2_384`\n* `SHA2_512`\n* `SHA3_256`\n* `SHA3_384`\n* `SHA3_512`\n\nThe following headers are added to requests with signing present:\n* `x-message-signature-version` consult the respective signature versions for further details on your message type\n* `x-message-signature` - a Base16 (lowercase) encoded binary of the signature\n\nWhere a header is NOT present in the request, it should be assumed \"0x00\" (a literal null) for calculation.\n\n## SMS Signature Versions\n\n### `2026-07-27` SMS\n\nSignatures for SMS are generated by applying the follow values in order:\n\n* Request Headers\n  * `content-type`\n  * `x-message-authorization-version`\n  * `x-message-content-type`\n  * `x-message-format`\n  * `x-message-id`\n  * `x-message-iv`\n  * `x-message-signature-version`\n  * `x-message-timestamp`\n  * `x-tychron-csp-campaign-id`\n  * `x-tychron-remote-reference-id`\n  * `x-tychron-remote-service-provider`\n  * `x-tychron-tcr-brand-id`\n  * `x-tychron-tcr-campaign-id`\n* Request Body\n\n## MMS Signature Versions\n\nSignatures for MMS change depending on the content-type, be sure to consult the correct section for the respective type.\n\n### `2026-07-27` MMS Multipart\n\nWhen the `content-type` is of `multipart/*`, where its subtype can be any value.\n\n* Request Headers (the main document)\n  * `content-type`\n  * `x-message-authorization-version`\n  * `x-message-content-type`\n  * `x-message-format`\n  * `x-message-id`\n  * `x-message-iv`\n  * `x-message-signature-version`\n  * `x-message-timestamp`\n  * `x-tychron-csp-campaign-id`\n  * `x-tychron-remote-reference-id`\n  * `x-tychron-remote-service-provider`\n  * `x-tychron-tcr-brand-id`\n  * `x-tychron-tcr-campaign-id`\n* Each Part (repeat for each part in the request, IN ORDER)\n  * Part Headers\n    * `content-type`\n    * `x-message-content-type`\n    * `x-message-iv`\n  * Part Body\n\n### `2026-07-27` MMS Single Part\n\nFor everything else:\n\n* Request Headers (the main document)\n  * `content-type`\n  * `x-message-authorization-version`\n  * `x-message-content-type`\n  * `x-message-format`\n  * `x-message-id`\n  * `x-message-iv`\n  * `x-message-signature-version`\n  * `x-message-timestamp`\n  * `x-tychron-csp-campaign-id`\n  * `x-tychron-remote-reference-id`\n  * `x-tychron-remote-service-provider`\n  * `x-tychron-tcr-brand-id`\n  * `x-tychron-tcr-campaign-id`\n* Request Body\n","enum":["NONE","SHA2_256","SHA2_384","SHA2_512","SHA3_256","SHA3_384","SHA3_512"],"title":"SwitchSigningHash","type":"string"},"OverwriteRequest":{"description":"A request created whenever a request to delete or overwrite an sms enabled numbers","properties":{"activation":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"error_code":{"description":"Further explanation of an error status","enum":["OK"],"example":"OK","type":"string"},"expires_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"is_stale":{"type":"boolean"},"review_status":{"description":"The review status of the request, defaults to NONE.","enum":["NONE","APPROVED","REJECTED","AUTO_APPROVED","AUTO_REJECTED","FORCE_DELETED"],"example":"NONE","type":"string"},"status":{"description":"The current processing status of the request","enum":["NEW","REVIEWED","APPROVED","REJECTED","ERROR","STALE","DELETED"],"example":"NEW","type":"string"},"tn":{"example":"12003004000","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","tn","review_status","status"],"title":"OverwriteRequest","type":"object"},"ApiKey":{"description":"An set of authorization details for various APIs","example":{"id":"a1a07e4d-1a16-4ff2-b579-a28ec4e1e96a","identity":"Z46IWURJGLH5SF3BKKZPXW53TAON6NBX","inserted_at":"2021-08-12T20:48:48.535403Z","key":"RBAARJAXGMRJ3AOD55WDO5WKN5GEFZGSZOAGJ27DOYJ22IBRU7W77Z6QKAYXCAXI","name":"Ordering API Key","notes":"This API Key is used for our ordering system","smpp_system_id":"EIIGBT24ZH242U5","updated_at":"2021-08-12T20:48:48.535403Z"},"properties":{"active":{"example":true,"type":"boolean"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"identity":{"description":"Acts as the username in the authorization pair for MM4","example":"Z46IWURJGLH5SF3BKKZPXW53TAON6NBX","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"key":{"description":"Token used for HTTP APIs","example":"RBAARJAXGMRJ3AOD55WDO5WKN5GEFZGSZOAGJ27DOYJ22IBRU7W77Z6QKAYXCAXI","type":"string"},"name":{"description":"A friendly name to identify the API Key","example":"My API Key","maxLength":255,"minLength":3,"type":"string"},"notes":{"description":"Any notes about the API Key, like, what it is used for, or other sharable details.\n","example":"This API Key is used for the west datacenter's SMS notifications.","maxLength":65535,"minLength":0,"type":"string"},"smpp_system_id":{"description":"Small identifier used when authorizing an SMPP connection","example":"EIIGBT24ZH242U5","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","name","identity","key","smpp_system_id"],"title":"ApiKey","type":"object"},"RolePoliciesResponse":{"description":"Role Policies","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/RolePolicyResponse"},"type":"array"}},"title":"RolePoliciesResponse","type":"object"},"CreateCallDataWebhookRequest":{"description":"Request for creating a new Call Data Webhook","properties":{"data":{"$ref":"#/components/schemas/CreateCallDataWebhookData"},"type":{"default":"call_data_webhook","example":"call_data_webhook","type":"string"}},"required":["data"],"title":"CreateCallDataWebhookRequest","type":"object"},"CallDataWebhookResponse":{"description":"Single Call Data Webhook","properties":{"data":{"$ref":"#/components/schemas/CallDataWebhook"},"type":{"default":"call_data_webhook","example":"call_data_webhook","type":"string"}},"title":"CallDataWebhookResponse","type":"object"},"ReviewOverwriteRequestData":{"description":"Request data for reviewing an Overwrite Request\n","properties":{"review_status":{"description":"The review status of the request, defaults to NONE.","enum":["NONE","APPROVED","REJECTED","AUTO_APPROVED","AUTO_REJECTED","FORCE_DELETED"],"example":"NONE","type":"string"}},"required":["review_status"],"title":"ReviewOverwriteRequestData","type":"object"},"Order":{"description":"An order that has been placed.\n\nOrders are a collection record for requests, a means by which requests are grouped together.\n\nOrders themselves do nothing after their checkout.\n","example":{"error_code":"OK","id":"01EH2Y28M6KXG14QMPM3HSP1Y0","inserted_at":"2020-09-03T10:42:35.000000Z","name":"SMS Batch 2020-09-03","notes":"This is a batch of SMS requests","status":"NEW","updated_at":"2020-09-03T10:42:35.000000Z"},"properties":{"error_code":{"$ref":"#/components/schemas/OrderErrorCode"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"description":"Display name for Order.\n","example":"Add Messaging to 10 Numbers","maxLength":255,"minLength":3,"type":"string"},"notes":{"description":"Any additional text about the order, useful for informing someone about the order's purpose.\n","example":"Order for Client XYZ\n","maxLength":65535,"minLength":0,"type":"string"},"status":{"$ref":"#/components/schemas/OrderStatus"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","name","inserted_at","updated_at","status","error_code"],"title":"Order","type":"object"},"CartRequestAddMessagingNumbersData":{"description":"Request for enabling messaging on existing or new numbers; new numbers will be created as needed\n","properties":{"api_key_ids":{"default":[],"description":"A list of API Keys that should be bound to the numbers once enabled.\n\nIf the number is already bound to the listed keys, then nothing will change.\n\nNote that this will __add__ new keys and not replace the existing bindings.\n","items":{"description":"API Key ID\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"type":"array"},"message_class":{"default":"A2P","description":"The messaging class of the numbers to be provisioned, by default this will be A2P.\n\n* `A2P` - Application to Person\n* `P2P` - Person to Person\n","enum":["A2P","P2P"],"type":"string"},"mms_enabled":{"default":false,"description":"Should the numbers be MMS enabled?\n\nMMS can also be enabled later by simply toggling it via the DID API.\n\nNote. If your account does not support MMS by default, then toggling this flag does nothing.\n","type":"boolean"},"numbers":{"description":"A list of NANP 11-digit numbers to enable messaging on.\n\nNon-tollfree numbers can normally be enabled outside of some special cases.\n\nFor tollfree, additional action may be required before completion.\n","items":{"description":"A phone number that should be enabled for messaging.\n","example":"12003004000","format":"tel","type":"string"},"type":"array"},"switch_id":{"description":"The ID of the switch that should be attached to the did for messaging.\n\nNote. This changes the DID's messaging switch, not its voice fallback one.\n\nLeaving this field blank will not overwrite the existing switch.\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"required":["numbers"],"title":"CartRequestAddMessagingNumbersData","type":"object"},"CartResponse":{"description":"Single cart","properties":{"data":{"$ref":"#/components/schemas/Cart"},"type":{"default":"cart","example":"cart","type":"string"}},"title":"CartResponse","type":"object"},"MessagingAutoResponsesResponse":{"description":"Messaging Auto Responses","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/MessagingAutoResponseResponse"},"type":"array"}},"title":"MessagingAutoResponsesResponse","type":"object"},"RequestRegisterCampaignData":{"description":"Request Data for registering TCR Campaigns.\n\nPlease note: the completion of the Request does not signify that the Campaign is ready to\naccept numbers, please check for the `dca_approved` flag on the campaign itself, or listen\nfor the `CSP_CAMPAIGN_REGISTERED` event via Subscription Events.\n","example":{},"properties":{"message_flow":{"type":"string"},"tcr_campaign_id":{"description":"TCR issued Campaign ID.\n","example":"C000000","type":"string"},"help_message":{"type":"string"},"embedded_phone":{"default":false,"example":false,"type":"boolean"},"tcr_brand_id":{"description":"TCR issued Brand ID.\n","example":"B000000","type":"string"},"embedded_link":{"default":false,"example":false,"type":"boolean"},"tcr_reseller_id":{"description":"TCR issued Reseller ID.\n","example":"R000000","type":"string"},"age_gated":{"default":false,"example":false,"type":"boolean"},"vertical":{"example":"TECHNOLOGY","type":"string"},"optout_message":{"type":"string"},"description":{"type":"string"},"auto_renewal":{"default":true,"example":true,"type":"boolean"},"embedded_link_sample":{"type":"string"},"optout_keywords":{"description":"Must be a CSV, that is a comma separated list of keywords.\n\nExcess spaces will be trimmed around each keyword.\n","example":"OPTOUT,STOP,UNSUBSCRIBE","type":"string"},"terms_and_conditions_link":{"type":"string"},"direct_lending":{"default":false,"example":false,"type":"boolean"},"sub_use_cases":{"items":{"type":"string"},"type":"array"},"optin_message":{"type":"string"},"mno_ids":{"items":{"type":"string"},"type":"array"},"reseller_id":{"description":"Internal UUID of CSP Reseller\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"subscriber_optout":{"default":false,"example":false,"type":"boolean"},"brand_id":{"description":"Internal UUID of CSP Brand\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"use_case":{"type":"string"},"tcr_csp_id":{"description":"The Campaign Service Provider ID.\n\nTypically in the form of SNNNNNN.\n","example":"S000000","type":"string"},"subscriber_optin":{"default":false,"example":false,"type":"boolean"},"help_keywords":{"description":"Must be a CSV, that is a comma separated list of keywords.\n\nExcess spaces will be trimmed around each keyword.\n","example":"HELP,INFO","type":"string"},"expedite_tier":{"default":"NONE","description":"Request that the campaign's provisioning be expedited with upstream.\n\n* `NONE` - the default, no expedite, campaign will be processed at its normal rate\n","enum":["NONE","PRIORITY"],"example":"NONE","type":"string"},"affiliate_marketing":{"default":false,"example":false,"type":"boolean"},"subscriber_help":{"default":false,"example":false,"type":"boolean"},"samples":{"items":{"type":"string"},"type":"array"},"optin_keywords":{"description":"Must be a CSV, that is a comma separated list of keywords.\n\nExcess spaces will be trimmed around each keyword.\n","example":"OPTIN,START,SUBSCRIBE","type":"string"},"privacy_policy_link":{"type":"string"},"number_pool":{"default":false,"example":false,"type":"boolean"},"terms_and_conditions":{"description":"Do you accept TCR's Terms and Conditions, this flag MUST be true in order to register a\ncampaign.\n\nIf false the campaign will not be accepted for registration.\n","example":false,"type":"boolean"}},"required":["terms_and_conditions"],"title":"RequestRegisterCampaignData","type":"object"},"CreateVoipAllowedClientIpRequest":{"description":"Request to create a new Allowed Client IP","properties":{"data":{"$ref":"#/components/schemas/CreateVoipAllowedClientIpData"},"type":{"default":"voip_allowed_client_ip","example":"voip_allowed_client_ip","type":"string"}},"required":["data"],"title":"CreateVoipAllowedClientIpRequest","type":"object"},"CDR":{"description":"A single call data record","example":{"fees":[],"id":"01EH2Y28M6KXG14QMPM3HSP1Y0","inserted_at":"2020-09-03T10:42:35.000000Z","item_count":1,"item_id":"01FCYT490ZK2NYF0BFYRFFAJZ8","sell_rate":"0.000900","subtype":"INBOUND","surcharges":[],"total":"0.000900","type":"SMS","updated_at":"2020-09-03T10:42:35.000000Z"},"properties":{"fees":{"items":{"$ref":"#/components/schemas/CDRFee"},"type":"array"},"host_number":{"description":"Depending on the CDR type, this can be an actual phone number or some other value","example":"12003004000","type":"string"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"item_count":{"description":"How many items does this CDR actually represent","example":1,"type":"integer"},"item_id":{"description":"Depending on the CDR type, this will be the id of another record","example":"01FCYT490ZK2NYF0BFYRFFAJZ8","type":"string"},"remote_number":{"description":"Depending on the CDR type, this can be an actual phone number or some other value","example":"12003004001","type":"string"},"sell_rate":{"description":"The base rate (no fees or surcharges), already includes the count","example":"0.000900","format":"decimal","type":"string"},"status":{"description":"Main status of the CDR\n","enum":["UNKNOWN","OK","MISS","ERROR","REFUND","NO_ANSWER","BUSY","CANCELLED","CHANNEL_UNAVAILABLE","CONGESTION","TEMP_FAILURE"],"type":"string"},"subtype":{"description":"Further refines the CDR type, depending on what the\n","enum":["NONE","LRN","LRNE","MESSAGING_CARRIER_LOOKUP","CNAM","TTS","OUTBOUND","INBOUND","TERMINATION","SIP_IAX","DID_RCF","DID_VOIP","CALLBACK","DID","CHARGE","PREPAYMENT","TAX","PAYMENT","ADJUSTMENT","DID_REGISTRY","DID_REGISTRY_NRC","DID_REGISTRY_A_MRC","DEDICATED_ESPID","DEDICATED_ESPID_NRC","DEDICATED_ESPID_A_MRC","DID_TIER","DID_TIER_NRC","DID_TIER_A_MRC","CSP_BRAND","CSP_BRAND_A_MRC","CSP_BRAND_VETTING","CSP_CAMPAIGN","CSP_CAMPAIGN_MRC","CSP_CAMPAIGN_A_MRC"],"type":"string"},"surcharges":{"items":{"$ref":"#/components/schemas/CDRSurcharge"},"type":"array"},"total":{"description":"The total amount charged (sell_rate+fees+surcharges)","example":"0.000900","format":"decimal","type":"string"},"type":{"$ref":"#/components/schemas/CDRType"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","type","subtype","sell_rate","total"],"title":"CDR","type":"object"},"CspBrand":{"description":"A TCR brand associated with the account","properties":{"address1":{"type":"string"},"alt_business_id":{"type":"string"},"alt_business_id_type":{"type":"string"},"brand_relationship":{"type":"string"},"city":{"type":"string"},"company_name":{"type":"string"},"country_code":{"type":"string"},"display_name":{"type":"string"},"ein":{"type":"string"},"ein_issuing_country_code":{"type":"string"},"email":{"type":"string"},"first_name":{"type":"string"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"last_name":{"type":"string"},"name":{"description":"A display name to identify the brand","type":"string"},"notes":{"description":"Any notes about the brand","type":"string"},"phone_number":{"type":"string"},"shared":{"description":"Was this brand created directly or was a brand from a partner campaign.\n\nSome fields may contain \"UNKNOWN\" if a brand is from a partner campaign.\n\n* `NO` - Should be treated the same as OWNED\n* `OWNED` - The brand was created on site and belongs to this system\n* `PARTNER` - The brand originates from outside of the system\n","enum":["NO","OWNED","PARTNER"],"type":"string"},"state":{"type":"string"},"stock_exchange":{"type":"string"},"stock_symbol":{"type":"string"},"tcr_brand_id":{"description":"The TCR issued ID of the brand","example":"B000000","type":"string"},"tcr_csp_id":{"description":"The owning campaign service provider ID","example":"S000000","type":"string"},"universal_ein":{"type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"vertical":{"type":"string"},"website":{"format":"url","type":"string"},"zip_code":{"type":"string"}},"required":["id","inserted_at","updated_at","name","tcr_brand_id"],"title":"CspBrand","type":"object"},"DestinationsResponse":{"description":"Number Destinations","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/DestinationResponse"},"type":"array"}},"title":"DestinationsResponse","type":"object"},"CallDataWebhooksResponse":{"description":"Call Data Webhooks","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/CallDataWebhookResponse"},"type":"array"}},"title":"CallDataWebhooksResponse","type":"object"},"RequestDocument":{"description":"","properties":{"content_type":{"description":"The mime type of the document, this will be returned as the content-type header when downloading the asset.\n","example":"application/vnd.openxmlformats-officedocument.wordprocessingml.document","type":"string"},"expires_at":{"description":"An ISO8601 timestamp denoting when the document will be considered expired, note you may still be able to retrieve the associated file, but once over the timestamp, it will not be guaranteed.\n","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"filename":{"description":"The filename of the document.\n","example":"acme_corp-lrn-2025-03-03.docx","type":"string"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"description":"A unique name identifying the document, must be unique to the request\n","example":"LOA","maxLength":128,"minLength":1,"type":"string"},"notes":{"description":"Any additional information about the request, may be read by an operations personel in case of manual action\n","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"title":"RequestDocument","type":"object"},"CspEntityTypesResponse":{"description":"CSP Entity Types","items":{"example":"PRIVATE_PROFIT","type":"string"},"title":"CspEntityTypesResponse","type":"array"},"Cart":{"description":"An order being prepared for checkout.\n","example":{"id":"01EH2Y28M6KXG14QMPM3HSP1Y0","inserted_at":"2020-09-03T10:42:35.000000Z","name":"SMS Batch 2020-09-03","notes":"This is a batch of SMS requests","updated_at":"2020-09-03T10:42:35.000000Z"},"properties":{"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"description":"A unique name identifying the cart, must be unique to the account\n","example":"My New Order","maxLength":255,"minLength":3,"type":"string"},"notes":{"description":"Any additional information about the request, may be read by an operations personel in case of manual action\n","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","name"],"title":"Cart","type":"object"},"CartRequestNewNumbersData":{"description":"Request for acquiring new numbers by search parameters.\n\nIn addition to the required number type and quantity, provide search parameters\nto narrow the requested numbers.\n\nThose are:\n* `state` - the 2 character state code (e.g. IL, FL, WA)\n* `rate_center` - the 9 character rate center code\n* `npa` - the 3 digit Area Code (e.g. 455)\n* `nxx` - the 3 digit Exchange Code (e.g. 400)\n","example":{"min_quantity":10,"npa":"202","number_type":"TENDLC","quantity":10},"properties":{"addons":{"$ref":"#/components/schemas/AddonsData"},"city":{"type":"string"},"min_quantity":{"description":"Sometimes there are legitimately not enough numbers to fill the order.\n\nThe `min_quantity` or minimum quantity informs the system if you are willing to tolerate a smaller quantity.\n","example":10,"minimum":1,"type":"integer"},"npa":{"description":"The 3 digit Area Code.\n","example":"202","type":"string"},"number_type":{"description":"The wanted number type either TENDLC or TOLLFREE.\n\nNONE is effectively a no-op or null.\n","enum":["NONE","TENDLC","TOLLFREE"],"type":"string"},"numbers":{"description":"If the numbers that should be provisioned are known ahead of time, they can be provided in\nthis field, however normally you'll want to avoid using this due to reservations.\n","items":{"example":"12004005000","format":"tel","type":"string"},"type":"array"},"nxx":{"description":"The 3 digit Exchange Code.\n","example":"203","type":"string"},"quantity":{"description":"The maximum numbers that should be requested based on the search criteria.\n\nThis pairs with `min_quantity` to form a range.\n","example":10,"minimum":1,"type":"integer"},"rate_center":{"description":"The rate center code.\n","example":"NPLSFLGF3MD","type":"string"},"state":{"description":"The 2 character state code, such as FL for Florida.\n","example":"FL","type":"string"}},"required":["number_type","quantity"],"title":"CartRequestNewNumbersData","type":"object"},"ErrorObject":{"description":"An object representing a single error, may contain a source if the error was from a field.","properties":{"code":{"description":"Contains static error code representing the error","example":"invalid_parameter","type":"string"},"detail":{"description":"Contains dynamic description of the error","example":"The specified resource could not be found","type":"string"},"source":{"properties":{"pointer":{"description":"JSON Pointer","example":"/data/type","type":"string"}},"type":"object"},"sub_code":{"description":"Some codes may have additional sub codes for identifying a problem.\n\nPrimarily used by requests\n","example":"none","type":"string"},"title":{"description":"A user friendly title for the error, will usually reflect the http error code","example":"Not Found","type":"string"}},"required":["title","detail","code"],"title":"ErrorObject","type":"object"},"AttachSwitchSmsSigningKeyData":{"description":"Parameters for attaching a Secret Key to a Switch for SMS Signing","properties":{"sms_signing_hash":{"$ref":"#/components/schemas/SwitchSigningHash"},"sms_signing_scheme":{"$ref":"#/components/schemas/SwitchSigningScheme"}},"title":"AttachSwitchSmsSigningKeyData","type":"object"},"ExportTask":{"description":"A CDR Export Task is a long running request to dump cdrs from a certain date into a file.\n","properties":{"date":{"description":"An ISO8601 formatted date.\nDetermines which day's cdrs will be exported.\n\nNote that if a current or future date is provided, the task will be deferred to the day\nAFTER the given date.\n","format":"date","type":"string"},"error_code":{"default":"OK","description":"* `OK` - there was no error\n","enum":["OK"],"example":"OK","type":"string"},"format":{"default":"CSV","description":"The intended exported format, CSV will export a CSV file as expected.\nMLJSON exports the cdrs as Multiline-JSON, that is each row in the file is a single CDR record encoded as JSON.\n","enum":["CSV","MLJSON"],"example":"CSV","type":"string"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"on_done_actions":{"$ref":"#/components/schemas/OnDoneActions"},"reference_id":{"description":"A unique client provided id for the export task.\n\nThere is no particular format that is enforced, a general recommendation is to avoid\nspaces and non-ASCII characters for best experience.\n","example":"cdr-export-API-2022-03-14","maxLength":255,"minLength":1,"type":"string"},"status":{"default":"NEW","description":"Status gives a brief overview of the state of the task.\n\n* `NEW` - the export task was freshly created and has not begun processing\n* `SCHEDULED` - the task has been scheduled to execute at a later time (see date field for more information)\n* `PROCESSING` - the task has begun processing\n* `STORING` - the task is currently storing its results on internal storage for later access\n* `DELIVERING` - the task is now attempting to deliver the exported file to the given endpoints (or notifying)\n* `COMPLETED` - the task is completed and it is safe to delete or retrieve the exported details\n* `ABORTED` - the task was aborted, execution was halted\n* `ERROR` - the task experienced an error, error_code will have more details if any\n","enum":["NEW","SCHEDULED","PROCESSING","STORING","DELIVERING","COMPLETED","ABORTED","ERROR"],"example":"NEW","type":"string"},"type":{"description":"The main type of CDR that should be exported\n\n* `API` - contain any LRN, LRNE, CNAM related calls\n* `MMS` - contain the billed details for MMS records\n* `SMS` - contain the billed details for SMS records\n* `VOICE` - contain any voice related calls (TERMINATION, DID*)\n* `BALANCE` - any balance related changes, including payments, adjustments etc...\n* `MISC` - contains various registry related feees\n","enum":["API","MMS","SMS","VOICE","BALANCE","MISC"],"type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","reference_id","date","type","format","status","error_code"],"title":"ExportTask","type":"object"},"CartRequestResponse":{"description":"Single request","properties":{"data":{"$ref":"#/components/schemas/CartRequest"},"type":{"default":"request","example":"request","type":"string"}},"title":"CartRequestResponse","type":"object"},"NumberInventoryCoverage":{"description":"Number Inventory Coverage.\n\nCoverage reports a \"count\" of all potential numbers or codes available.\n\nIt simply reports how many are available, and no specific codes.\n","properties":{"count":{"description":"The total entries in items.\n","example":10,"type":"integer"},"items":{"items":{"properties":{"block":{"example":"9","format":"nanp-block","type":"string"},"count":{"description":"How numbers are available based on the parameters in this entry?\n","example":101,"type":"integer"},"lata":{"example":"236","type":"string"},"npa":{"description":"The Area Code of the numbers in this entry.\n","example":"202","format":"npa","type":"string"},"nxx":{"description":"The Exchange Code of the numbers in this entry.\n","example":"201","format":"nxx","type":"string"},"rate_center":{"example":"WSHNGTNZN1","type":"string"},"state":{"example":"DC","type":"string"},"type":{"description":"The type of number, primarily TENDLC.\n","enum":["TENDLC","TOLLFREE"],"example":"TENDLC","type":"string"}},"required":["type","count"],"type":"object"},"type":"array"},"search_params":{"description":"The search parameters that were used to generate the response.\n\nNote it may differ slightly from input due to defaults, or different enum casings.\n","properties":{"count_by":{"default":"npa_nxx","enum":["state","rate_center","npa_nxx","block"],"example":"npa_nxx","type":"string"},"npa":{"example":"202","type":"string"},"nxx":{"example":"201","type":"string"},"rate_center":{"example":"WSHNGTNZN1","type":"string"},"state":{"example":"DC","type":"string"}},"type":"object"}},"required":["count","items","search_params"],"title":"NumberInventoryCoverage","type":"object"},"UpsertMessageSetData":{"description":"Data for creating, or updating a message set\n","properties":{"name":{"description":"Name of the Message Set","example":"Pre-answer Greeter","maxLength":255,"minLength":1,"type":"string"}},"required":["name"],"title":"UpsertMessageSetData","type":"object"},"RequestUnregisterCampaignData":{"description":"Request for unregistering a TCR Campaign.","example":{},"properties":{"campaign_id":{"description":"Internal UUID","example":"89900e23-aafc-4b03-954d-0b11d3948042","format":"uuid","type":"string"},"tcr_campaign_id":{"description":"TCR issued ID","example":"B000000","type":"string"}},"title":"RequestUnregisterCampaignData","type":"object"},"NumberClientSuspension":{"description":"A record representing a client issued number suspension.\n\nMessages are still charged even if a suspension is in place.\n\nNew message requests while a client suspension is in place will reject\n","properties":{"block_direction":{"description":"What direction messages should be blocked to this number, suspensions may apply to\ninbound or outbound.\n\nOn INBOUND, messages will NOT be sent to the endpoint but will be charged.\nOn OUTBOUND, inflight messages will NOT be sent to their destinations (note they would have already been charged).\nNew OUTBOUND messages will be rejected at the their edge (API, SMPP or other methods).\n\nBOTH applies all rules.\n","enum":["NONE","INBOUND","OUTBOUND","BOTH"],"type":"string"},"block_messaging":{"description":"What type of messaging should be blocked by this suspension?\n","enum":["NONE","SMS","MMS","ALL"],"type":"string"},"block_voip":{"description":"Calls originating or terminating to the host number may not be terminated to the configured destinations while blocks are in place.\n\nThe system MAY choose to answer calls to remain compliant even if a suspension is present.\n","enum":["NONE","ORIGINATION","TERMINATION","ALL"],"type":"string"},"host_number":{"description":"A reference to the host did's number.\n","example":"12003004000","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"notes":{"description":"Any notes on the suspension.\n","example":"Suspended due to carrier complaint.","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","notes","host_number","block_messaging","block_direction","block_voip"],"title":"NumberClientSuspension","type":"object"},"UpsertMessageData":{"description":"Data for creating, or updating a message\n","properties":{"body":{"description":"Name of the Message Set","example":"Pre-answer Greeter","maxLength":255,"minLength":1,"type":"string"},"priority":{"example":1,"type":"integer"}},"required":["priority","body"],"title":"UpsertMessageData","type":"object"},"SystemEventAssociationProvisionRecord":{"description":"Purely associated with the `REQUEST_COMPLETED` System Event, Provision Records,\nhenceforth abbreviated as PVR track individual items within a REQUEST.\n\nThe `number` of the PVR will typically contain the most relevant ID or value of the resource\nit represents.\n\nExamples:\n\n* e.g.1. `ADD_MESSAGING_NUMBERS`'s PVRs has its number correspond to the `numbers`.\n* e.g.2. `REGISTER_BRAND`'s PVRs has its number fixed to \"0000\".\n* e.g.3. `REGISTER_CAMPAIGN`'s PVRs has its number fixed to \"0000\".\n","example":{"error_code":"OK","id":"01HBH4BJJXGNJADQHEKS7987MC","number":"12003004000","status":"COMPLETED"},"properties":{"error_code":{"$ref":"#/components/schemas/RequestProvisionRecordErrorCode"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"number":{"description":"The `number` represents the most relevant ID of the item in the REQUEST.\n\nField will customarily contain digits.\n\nSome requests will use `0000` as their primary number, the events should include additional\ndata in its body in those cases to help differentiate events.\n","example":"12003004000","maxLength":255,"minLength":1,"type":"string"},"status":{"$ref":"#/components/schemas/RequestProvisionRecordStatus"}},"title":"SystemEventAssociationProvisionRecord","type":"object"},"UpdateMessageRequest":{"description":"Request for update an existing tts message","properties":{"data":{"$ref":"#/components/schemas/UpsertMessageData"},"type":{"default":"tts_message","example":"tts_message","type":"string"}},"required":["data"],"title":"UpdateMessageRequest","type":"object"},"SecretKeysResponse":{"description":"Secret Keys","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/SecretKeyResponse"},"type":"array"}},"title":"SecretKeysResponse","type":"object"},"CreateRequestDocumentRequest":{"description":"","properties":{"file":{"description":"Any file is allowed, please note, files may be subject to scanning.\n\nDo not be malicious.\n","format":"binary","type":"string"},"file_hint":{"default":"DEFAULT","description":"Depending on the request type, there may be a need for different document types.\n\n* `DEFAULT` is the default, and means the uploaded file will be used for any \"default\" purposes\n* `MMS` mms hints that the file is related to or to be used for mms purposes\n* `LOA` the document is an loa\n\nTo clear things up, REGISTER_CAMPAIGN uses both types for different purposes: `DEFAULT` is used for all campaign supporting documents while `MMS` is used for its MMS sample content.\n","enum":["DEFAULT","MMS","LOA"],"example":"DEFAULT","type":"string"},"filename":{"description":"Override for the uploaded file's filename.\n\nThis is optional, otherwise it uses the file's given filename instead.\n","example":"abc.pdf","type":"string"},"name":{"description":"A display name for the document.\n","example":"LOA","type":"string"},"notes":{"description":"Any additional information about the document.\n","example":"LOA from client on 2026-05-20.","type":"string"}},"title":"CreateRequestDocumentRequest","type":"object"},"NumberClientSuspensionsResponse":{"description":"Number Client Suspensions","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/NumberClientSuspensionResponse"},"type":"array"}},"title":"NumberClientSuspensionsResponse","type":"object"},"MessagingAutoResponseResponse":{"description":"Single Messaging Auto Response","properties":{"data":{"$ref":"#/components/schemas/MessagingAutoResponse"},"type":{"default":"messaging_auto_response","example":"messaging_auto_response","type":"string"}},"title":"MessagingAutoResponseResponse","type":"object"},"SecretKeyResponse":{"description":"Single Secret Key","properties":{"data":{"$ref":"#/components/schemas/SecretKey"},"type":{"default":"secret_key","example":"secret_key","type":"string"}},"title":"SecretKeyResponse","type":"object"},"OverwriteRequestsResponse":{"description":"Overwrite Requests","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/OverwriteRequestResponse"},"type":"array"}},"title":"OverwriteRequestsResponse","type":"object"},"RolesResponse":{"description":"Roles","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/RoleResponse"},"type":"array"}},"title":"RolesResponse","type":"object"},"UpdateApiKeyData":{"description":"Parameters for updating an api key","properties":{"active":{"description":"Whether the API Key is active for use","example":false,"type":"boolean"},"name":{"description":"A display name for the API Key","type":"string"},"notes":{"description":"Any notes on the API Key","type":"string"}},"title":"UpdateApiKeyData","type":"object"},"SwitchSigningScheme":{"description":"The signing scheme that should be used, only NONE (for no signing) and HMAC are available.\n","enum":["NONE","HMAC"],"title":"SwitchSigningScheme","type":"string"},"CspVerticalsResponse":{"additionalProperties":{"$ref":"#/components/schemas/CspVertical"},"description":"CSP Verticals","title":"CspVerticalsResponse","type":"object"},"AttachSwitchMmsSigningKeyData":{"description":"Parameters for attaching a Secret Key to a Switch for MMS Signing","properties":{"mms_signing_hash":{"$ref":"#/components/schemas/SwitchSigningHash"},"mms_signing_scheme":{"$ref":"#/components/schemas/SwitchSigningScheme"}},"title":"AttachSwitchMmsSigningKeyData","type":"object"},"ExportTaskResponse":{"description":"Single CDR Export Task","properties":{"data":{"$ref":"#/components/schemas/ExportTask"},"type":{"default":"call_data_export_task","example":"call_data_export_task","type":"string"}},"title":"ExportTaskResponse","type":"object"},"RolePolicyResponse":{"description":"Response when retrieving role policy information.","properties":{"data":{"$ref":"#/components/schemas/RolePolicy"},"type":{"default":"role_policy","example":"role_policy","type":"string"}},"required":["data","type"],"title":"RolePolicyResponse","type":"object"},"MessagingAutoResponse":{"description":"Messaging Auto Response","example":{"id":"c08f0fc9-2550-49d7-92fd-fb6ae9df8b24","inserted_at":"2024-10-23T01:28:05.996546Z","keywords":[{"intercept":true,"is_wildcard":true,"keyword":"WILDCARD","message":"This number is not enabled for messaging.","message2":null}],"name":"Not Enabled Auto Responder","notes":"Notifies customers that the number is not enabled for messaging","updated_at":"2024-10-23T01:28:05.996546Z"},"properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"keywords":{"description":"A list of keywords that the auto response has, keywords are stored in uppercase, but are case insensitive upon usage.\n","items":{"properties":{"intercept":{"default":false,"description":"Should the messaging system intercept (i.e. not forward to switch) the message?\n\nThis can be useful for cases where the keyword is to be handled by the messaging system, but the destination switch can't or does not wish to handle the message.\n","example":false,"type":"boolean"},"is_wildcard":{"default":false,"description":"Should this keyword be treated as a wildcard or fallback?\n\nOnly one wildcard can exist in a auto response, and will be returned for ALL messages that do not match any existing keywords.\n\nOnce is_wildcard is set, the keyword in question is also set to `WILDCARD`.\n\nNOTE: To update an existing WILDCARD, the keyword must also be passed (i.e. `WILDCARD`).\n","example":false,"type":"boolean"},"keyword":{"description":"The word to trigger this specific keyword.\n\nNote that when is_wildcard is true, keyword will always be `WILDCARD`.\n","example":"START","type":"string"},"message":{"description":"The primary message that should be sent as the reply.\n\nIn most scenarios this is the only message that needs to be set, however under the condition that a keyword is shared with the account's existing Keyword Plan (ask support for more information), the message may override it.\n","example":"You have been opted in to receive messages from ACME Corp.\n","type":"string"},"message2":{"description":"A secondary message which may be selected under certain circumstances.\n\nIf a keyword plan is active on the parent account, and the keyword has an OPTOUT or OPTIN behaviour, this message may be used.\n\nIn the case of an OPTIN action, this message will be used as the redundant action message (e.g. the subscriber has already opted in or already opted out of the messaging platform).\n","example":"You have already been opted-in to receive messages from ACME Corp, if you wish to unsubscribed please send STOP instead.\n","type":"string"}},"type":"object"},"type":"array"},"name":{"description":"Display name of the Auto Response\n","example":"My Auto Responder","type":"string"},"notes":{"description":"Any notes about the auto response\n","example":"This auto responder is used to notify messagers that the number is not available for SMS.\n","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"title":"MessagingAutoResponse","type":"object"},"UsersResponse":{"description":"Users","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/UserResponse"},"type":"array"}},"title":"UsersResponse","type":"object"},"CreateSecretKeyResponse":{"description":"Newly created Secret Key","properties":{"data":{"$ref":"#/components/schemas/CreatedSecretKey"},"type":{"default":"secret_key","example":"secret_key","type":"string"}},"title":"CreateSecretKeyResponse","type":"object"},"SystemEventType":{"description":"The type of the event, this denotes what the `data` will contain.\n","enum":["DID_COMPLETED_CREATED","DID_COMPLETED_DELETED","DID_CREATED","DID_DELETED","ORDER_COMPLETED","REQUEST_COMPLETED","OSR_OVERWRITE_REQUEST_PENDING","OSR_OVERWRITE_REQUEST_COMPLETED"],"example":"DID_CREATED","title":"SystemEventType","type":"string"},"NumbersResponse":{"description":"Numbers","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/NumberResponse"},"type":"array"}},"title":"NumbersResponse","type":"object"},"SystemEventDataDidOptoutItemCreated":{"description":"`DID_OPTOUT_ITEM_CREATED`\n\nThe creation of an optout item is the explicit action of a subscriber opting out of receiving\nmessages.\n","properties":{"host_did_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"host_number":{"description":"A reference to the host number that this optout belongs to.\n\nThat is the number that received the optout request.\n","example":"12003004000","type":"string"},"keyword":{"description":"If the optout was triggered by the system, this field will be populated with the keyword\nused.\n\nWill be some variant of STOP normally.\n\nFor more information about keywords and their handling, contact support.\n","example":"STOP","type":"string"},"remote_number":{"description":"The client number that sent the optout, or is opted out of receiving messages from the\nhost number\n","example":"12003004001","type":"string"}},"required":["remote_number","host_did_id"],"title":"SystemEventDataDidOptoutItemCreated","type":"object"},"VoipAllowedClientIp":{"description":"\n","example":{"address":"203.0.113.10","id":"a1a07e4d-1a16-4ff2-b579-a28ec4e1e96a","inserted_at":"2021-08-12T20:48:48.535403Z","name":"Ordering Allowed Client IP","notes":"This Allowed Client IP is used for our ordering system","updated_at":"2021-08-12T20:48:48.535403Z"},"properties":{"address":{"description":"The IP Address that should be allowed to originate VoIP traffic.\n\nNote. This must be unique, if you encounter issues with loading an IP, please contact support for assistance.\n","format":"ip","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"description":"A friendly name to identify the Allowed Client IP","example":"US ACME Call Relay","maxLength":64,"minLength":1,"type":"string"},"notes":{"description":"Any notes about the IP.\n","example":"US ACME Call Relay Service","maxLength":65535,"minLength":0,"type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","name","address"],"title":"VoipAllowedClientIp","type":"object"},"CreateCartData":{"description":"Request for creating a new cart","properties":{"name":{"description":"A unique name identifying the cart\n","type":"string"},"notes":{"description":"Optional information about the cart, or order.\n","type":"string"}},"required":["name"],"title":"CreateCartData","type":"object"},"UpdateVoipAllowedClientIpRequest":{"description":"Request to update an existing Allowed Client IP","properties":{"data":{"$ref":"#/components/schemas/UpdateVoipAllowedClientIpData"},"type":{"default":"voip_allowed_client_ip","example":"voip_allowed_client_ip","type":"string"}},"required":["data"],"title":"UpdateVoipAllowedClientIpRequest","type":"object"},"SwitchesResponse":{"description":"Switches","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/SwitchResponse"},"type":"array"}},"title":"SwitchesResponse","type":"object"},"ApiKeysResponse":{"description":"API Keys","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/ApiKeyResponse"},"type":"array"}},"title":"ApiKeysResponse","type":"object"},"BulkDipTaskResponse":{"description":"Single Bulk Dip Task","properties":{"data":{"$ref":"#/components/schemas/BulkDipTask"},"type":{"default":"bulk_dip_task","example":"bulk_dip_task","type":"string"}},"title":"BulkDipTaskResponse","type":"object"},"CartRequest":{"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/CartRequestAddCampaignNumbersData"},{"$ref":"#/components/schemas/CartRequestAddMessagingNumbersData"},{"$ref":"#/components/schemas/CartRequestAddVoiceNumbersData"},{"$ref":"#/components/schemas/CartRequestNewNumbersData"},{"$ref":"#/components/schemas/CartRequestRegisterBrandData"},{"$ref":"#/components/schemas/CartRequestRegisterCampaignData"},{"$ref":"#/components/schemas/CartRequestRemoveCampaignNumbersData"},{"$ref":"#/components/schemas/CartRequestRemoveMessagingNumbersData"},{"$ref":"#/components/schemas/CartRequestRemoveNumbersData"},{"$ref":"#/components/schemas/CartRequestRemoveVoiceNumbersData"},{"$ref":"#/components/schemas/CartRequestUnregisterBrandData"},{"$ref":"#/components/schemas/CartRequestUnregisterCampaignData"},{"$ref":"#/components/schemas/CartRequestVetBrandData"}]},"description":"A request being prepared in a cart","example":{"id":"01EH2Y28M6KXG14QMPM3HSP1Y0","inserted_at":"2020-09-03T10:42:35.000000Z","name":"SMS Batch 2020-09-03","notes":"This is a batch of SMS requests","numbers":["12003004000"],"type":"ADD_MESSAGING_NUMBERS","updated_at":"2020-09-03T10:42:35.000000Z"},"properties":{"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"type":"string"},"notes":{"type":"string"},"type":{"$ref":"#/components/schemas/RequestType"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","name","type"],"title":"CartRequest","type":"object"},"CspVettingClass":{"description":"CSP Vetting Class","properties":{"description":{"type":"string"},"displayName":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"},"validatyMonths":{"type":"number"}},"title":"CspVettingClass","type":"object"},"Voice":{"description":"A TTS Voice is used to denote how the speaker sounds, this affects the gender and language.\n","properties":{"accent_code":{"description":"Any specialized variant or dialect of the language","example":"us","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"language_code":{"description":"The language of the voice","example":"en","type":"string"},"name":{"description":"Name of the TTS Voice","example":"John Doe (en-US)","maxLength":255,"minLength":1,"type":"string"}},"required":["id","inserted_at","name","language_code","accent_code"],"title":"Voice","type":"object"},"RolePolicy":{"description":"A role controls the access to resources and their actions within the API.\n","properties":{"actions":{"description":"A list of actions the resource has.\n","items":{"enum":["sell_rates","buy_rates","count","full_index","index","assoc","show","charge","reset","create","update","delete","purge","move","import","export","review","protect","share","unshare","impersonate","checkout","lookup_result","process","cancel","download","upload","summarize"],"type":"string"},"type":"array"},"allowed_levels":{"description":"A list of levels that are allowed to use this resource.\n","items":{"enum":["GUEST","CLIENT","ADMIN"],"type":"string"},"type":"array"},"allowed_scopes":{"description":"A list of scopes that are allowed to be paired with this resource.\n","items":{"enum":["IGNORE","ACCOUNT","USER","SYSTEM"],"example":"ACCOUNT","type":"string"},"type":"array"},"hint":{"description":"Effectively the description of the role from the backend.\n","type":"string"},"label":{"description":"Resource's primary label.\n","example":"Roles","type":"string"},"resource_id":{"type":"string"},"topics":{"description":"A list of topics or related groupings the resource belongs to.\n","items":{"type":"string"},"type":"array"}},"required":["resource_id","label","hint","topics","allowed_levels","allowed_scopes","actions"],"title":"RolePolicy","type":"object"},"CartRequestAddCampaignNumbersData":{"additionalProperties":{"oneOf":[{"properties":{"tcr_campaign_id":{"description":"The TCR issued Campaign ID, typically in the form of CNNNNNN.\n\n* This field will be backfilled if `campaign_id` is provided instead.\n* If this field AND `campaign_id` are provided they must resolve to the same campaign.\n","example":"C000000","type":"string"}},"required":["tcr_campaign_id"],"type":"object"},{"properties":{"campaign_id":{"description":"The internal UUID of a known campaign.\n\n* This field will be backfilled if `tcr_campaign_id` is provided instead.\n* If this field AND `tcr_campaign_id` are provided they must resolve to the same campaign.\n","example":"5b502159-a3f4-48bd-87e7-205b7f0d6c7f","format":"uuid","type":"string"}},"required":["campaign_id"],"type":"object"}]},"description":"Request for registering numbers under a TCR Campaign.\n\nCampaigns must be known to Tychron before submitting this request, either:\n* Via sharing\n* Provisioned by Tychron directly\n","properties":{"numbers":{"description":"A list of NANP 11-digit numbers to add campaigns to.\n\nKeep in mind, campaigns are only supported on non-tollfree TenDLC numbers.\n\nFor example: 12003004000.\n","items":{"example":"12003004000","type":"string"},"type":"array"}},"required":["numbers"],"title":"CartRequestAddCampaignNumbersData","type":"object"},"UpdateCartRequest":{"description":"Request for update an existing cart","properties":{"data":{"$ref":"#/components/schemas/UpdateCartData"},"type":{"default":"cart","example":"cart","type":"string"}},"required":["data"],"title":"UpdateCartRequest","type":"object"},"UpdateCartRequestData":{"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/CartRequestAddCampaignNumbersData"},{"$ref":"#/components/schemas/CartRequestAddMessagingNumbersData"},{"$ref":"#/components/schemas/CartRequestAddVoiceNumbersData"},{"$ref":"#/components/schemas/CartRequestNewNumbersData"},{"$ref":"#/components/schemas/CartRequestRegisterBrandData"},{"$ref":"#/components/schemas/CartRequestRegisterCampaignData"},{"$ref":"#/components/schemas/CartRequestRemoveCampaignNumbersData"},{"$ref":"#/components/schemas/CartRequestRemoveMessagingNumbersData"},{"$ref":"#/components/schemas/CartRequestRemoveNumbersData"},{"$ref":"#/components/schemas/CartRequestRemoveVoiceNumbersData"},{"$ref":"#/components/schemas/CartRequestUnregisterBrandData"},{"$ref":"#/components/schemas/CartRequestUnregisterCampaignData"},{"$ref":"#/components/schemas/CartRequestVetBrandData"}]},"description":"Parameters for updating a Cart Request","example":{"api_key_ids":["ca78c61f-b6ca-4ed5-91d5-1f3458e16258"],"mms_enabled":true,"name":"Add messaging for 12003004000","notes":"Some notes, made an edit, needed mms","numbers":["12003004000"],"switch_id":"9cdb55c0-6e15-4513-8430-4152fc8e07d3"},"properties":{"name":{"type":"string"},"notes":{"type":"string"}},"title":"UpdateCartRequestData","type":"object"},"CreateVoipAllowedClientIpData":{"description":"Parameters for creating an Allowed Client IP","properties":{"address":{"description":"The IP Address that should be allowed","format":"ip","type":"string"},"name":{"description":"A display name for the Allowed Client IP","type":"string"},"notes":{"description":"Any notes on the Allowed Client IP","type":"string"}},"required":["name","address"],"title":"CreateVoipAllowedClientIpData","type":"object"},"CspEventCategoriesResponse":{"description":"CSP Event Categories","items":{"type":"string"},"title":"CspEventCategoriesResponse","type":"array"},"PageInfo":{"description":"Contains pagination cursor information.\n\nPagination works with a windowing method, for records like CDRs where they can rapidly\npopulate the table, a traditional offset+limit method would not suffice as subsequent\nrequests risk returning new data each time, instead the API provides a pair of cursors.\n\nTake simplified pages as a list of numbers:\n\n    Page 1          Page 2\n    [1, 2, 3, 4, 5] [6, 7, 8, 9, 10]\n\nThe number `1` would be the start or \"head\" of the first list or window, while `5` is the end or \"tail\" of the first list.\nSubsequently these would have cursors as the `start_cursor` and `end_cursor` respectively.\n\nAssuming we're moving the window right to see older records (assuming the records are naturally ordered in their DESCENDING order such as CDRs).\n\nThe next index request would set the `after` (offset) query parameter with the `end_cursor` retaining the `first` (limit) parameter.\n\nThat would present Page 2's data upon success, repeat the process to retrieve subsequent pages as long as `has_next_page` remains true.\n\nBut, what if you needed to do the reverse? Set the `before` to the `end_cursor`'s value and swap `after` for `before`; `has_next_page` and `has_previous_page` will be reserved.\n","example":{"end_cursor":"YXJyYXljb25uZWN0aW9uOjQ=","has_next_page":true,"has_previous_page":false,"start_cursor":"YXJyYXljb25uZWN0aW9uOjA="},"properties":{"end_cursor":{"description":"The cursor value associated with the tail item of the page.\n","type":"string"},"has_next_page":{"description":"Are there additional records after the current page?\n","type":"boolean"},"has_previous_page":{"description":"Are there additional records before the current page?\n","type":"boolean"},"start_cursor":{"description":"The cursor value associated with the head item of the page.\n","type":"string"}},"required":["has_next_page","has_previous_page"],"title":"PageInfo","type":"object"},"UpdateOrderRequest":{"description":"Request for update an existing Order","properties":{"data":{"$ref":"#/components/schemas/UpdateOrderData"},"type":{"default":"order","example":"order","type":"string"}},"required":["data"],"title":"UpdateOrderRequest","type":"object"},"Number":{"description":"A provisioned did","properties":{"activated":{"description":"Is the DID active for use?\n","example":true,"type":"boolean"},"brand_name":{"description":"Custom Brand Name when the number is not actively apart of TCR's Campaign setup, this field will be used in place of the brand name.\n\nAdded on 2026-05-04.\n","example":"ACME Corp.","maxLength":255,"minLength":0,"type":"string"},"description":{"description":"Any notes to attach to the number.\n","example":"Test number used for XYZ.Corp\n","type":"string"},"forward_number":{"description":"When this DID receives an inbound message, the message will be routed to the specified `forward_number`.\n\nNote. using forward_number or its switch equivalent will charge the account for 2 messages, instead of 1:\n* Once for the inbound (to the host number)\n* Again for the outbound (from the host number to the forward number)\n\nIf this field is nil, or blank the `sms_switch` will be used for routing instead\n","example":"12003004000","type":"string"},"help_message":{"description":"Custom HELP Message that should be sent when an inbound message matching \"HELP\" is received.\n\nFor help messages longer than 255 characters, they must handled by the receiver.\n","example":"Available Keywords are: HELP, SUBSCRIBED, UNSUBSCRIBE.","maxLength":255,"minLength":0,"type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"message_class":{"enum":["NONE","A2P","P2P"],"example":"A2P","type":"string"},"mms_enabled":{"description":"Whether or not the number is MMS capable, does not affect SMS or SMS to MMS upgrades.\n","example":true,"type":"boolean"},"number":{"description":"The 3 to 15 digit code of the number.\n","example":"12003004000","type":"string"},"rate_center":{"example":"KISSIMEE","type":"string"},"segment_overrides":{"description":"While the segment_threshold can be used to apply to all outgoing sms messages, sometimes\nits required to tailor fit an upgrade to a particular carrier.\n\nNote, when updating the segment_overrides, all overrides must be provided for the did, any unspecified overrides will be removed.\n","items":{"properties":{"encoding":{"description":"The SMS encoding that this override should trigger on.\n","example":0,"type":"integer"},"id":{"description":"The UUID of the specific segment override, required when changing an existing override.\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"segment_threshold":{"description":"See number's segment_threshold for more information.\n","type":"integer"},"target_reference_id":{"description":"Internal reference_id for a carrier, contact support for details or\nif a required carrier is not available.\n\nReference ids tend to have the form:\n\n    <country_code>_<name>\n\n  Example:\n\n    us_tmobile\n    ca_rogers\n    dm_digicel\n\n","example":"us_tmobile","type":"string"}},"type":"object"},"type":"array"},"segment_threshold":{"default":0,"description":"How many segments should a outgoing message have before it triggers an MMS upgrade.\n\nContact support to learn more about MMS upgrades.\n\n0 will disable upgrades, any value greater than 1 will trigger an upgrade when that many sms\nsegments would have been sent.\n\nUpgrades only apply to HTTP originated traffic, customers using SMPP will not for outbound\nare not subject to upgrades.\n","example":1,"type":"integer"},"sms_enabled":{"description":"Whether or not a number is messaging capable.\n\nNote that this flag also affects mms availability.\n","example":true,"type":"boolean"},"state":{"example":"FL","type":"string"},"tier":{"description":"The billing tier associated with the number:\n\n* `L0` - Tychron OCN Tier 0\n* `L1` - Tychron OCN Tier 1\n* `T1` - Partner Tier 0\n* `T2` - Partner Tier 1\n* `T3` - Partner Tier 3\n* `AK` - Alaska\n* `HI` - Hawaii\n* `CAN` - Canada\n* `PR` - Puerto Rico\n* `TF` - Tollfree\n* `SHORTCODE` - General Shortcode\n* `M0` - Mobile Tier 0\n* `M1` - Mobile Tier 1\n* `BYON` - Bring-Your-Own-Number\n","enum":["L0","L1","T1","T2","T3","AK","HI","CAN","PR","TF","SHORTCODE","M0","M1","BYON"],"example":"T1","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"upgrade_asset_handling":{"description":"The asset handling flag for SMS Upgrades","enum":["FALLBACK","OFF","ALWAYS_UPGRADE","SEGMENT_UPGRADE"],"type":"string"},"voice_enabled":{"description":"Whether or not the specified number is voice-capable (only affects outgoing)\n","example":true,"type":"boolean"}},"required":["id","inserted_at","updated_at","number","sms_enabled","mms_enabled"],"title":"Number","type":"object"},"RequestProvisionRecordStatus":{"description":"Provision Record(s) (henceforth PVR(s)) have very different status codes from those of orders and requests.\n\nA PVR represents a single unit (e.g. a `number`, a `campaign` etc...) and its progress within a Request.\n\nIts status can therefore be its `stage` (what step of the process it is currently in).\n\n* `NONE` - the PVR was freshly created and has not been used yet\n* `MANUAL` - the PVR is currently requires manual or admin action\n* `SUBMITTED_TO_REGISTRY*` - for requests that may undergo multiple submissions to a registry, these statuses represent that action.\n* `CONFIRMED_IN_REGISTRY*` - for requests that were awaiting an upstream notification, they can be confirmed (i.e. accepted) once that notification is received.\n* `PENDING_IN_REGISTRY*` - for requests that enter a pending state (i.e. waiting on a notification)\n* `REMOVED_FROM_REGISTRY*` - can be seen as the reverse of `CONFIRMED_IN_REGISTRY*` specifically when removals are done, not that some requests may do a removal even if it was an ADD due to registry requirements for certain conditions.\n* `COMPLETED` - the PVR has completed processing\n* `ERROR` - the PVR has a permanent error (see `error_code` field for more details)\n* `TEMPORARY_ERROR` - the PVR has encountered a temporary error and may be resolved later with or by an operations personnel\n* `EXPIRED` - the request has given up on processing the PVR due to a timeout or other long period condition\n* `CANCELLED` - the request or an operational personnel has marked the PVR for cancellation possibly as it could not be completed due to an abnormal condition\n* `REJECTED` - the request has deemed that the PVR cannot or should not be processed, (see `error_code`  field for more details)\n* `PURGE` - an operational personnel has marked the PVR for PERMANENT removal from the request, possibly as it could not be completed or the item is no longer required/eligible\n","enum":["NONE","MANUAL","SUBMITTED_TO_REGISTRY","SUBMITTED_TO_REGISTRY1","SUBMITTED_TO_REGISTRY2","SUBMITTED_TO_REGISTRY3","CONFIRMED_IN_REGISTRY","CONFIRMED_IN_REGISTRY1","CONFIRMED_IN_REGISTRY2","CONFIRMED_IN_REGISTRY3","PENDING_IN_REGISTRY","PENDING_IN_REGISTRY1","PENDING_IN_REGISTRY2","PENDING_IN_REGISTRY3","REMOVED_FROM_REGISTRY","REMOVED_FROM_REGISTRY1","REMOVED_FROM_REGISTRY2","REMOVED_FROM_REGISTRY3","COMPLETED","ERROR","TEMPORARY_ERROR","EXPIRED","CANCELLED","REJECTED","PURGE"],"example":"NONE","title":"RequestProvisionRecordStatus","type":"string"},"CspBrandRelationshipsResponse":{"description":"CSP Brand Relationships","items":{"example":"BASIC_ACCOUNT","type":"string"},"title":"CspBrandRelationshipsResponse","type":"array"},"MessageSet":{"description":"A TTS Message Set contains multiple messages which can be recited to the caller based on their\npriority.\n","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"description":"Name of the Message Set","example":"Pre-answer Greeter","maxLength":255,"minLength":1,"type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","name"],"title":"MessageSet","type":"object"},"CartRequestUnregisterCampaignData":{"description":"Request for unregistering a TCR Campaign.\n\nEither the `campaign_id` (UUID) or the `tcr_campaign_id` can be provided to lookup the respective\ncampaign for removal.\n","oneOf":[{"properties":{"tcr_campaign_id":{"description":"TCR issued ID","example":"B000000","type":"string"}},"required":["tcr_campaign_id"],"type":"object"},{"properties":{"campaign_id":{"description":"Internal UUID","example":"89900e23-aafc-4b03-954d-0b11d3948042","format":"uuid","type":"string"}},"required":["campaign_id"],"type":"object"}],"properties":{},"title":"CartRequestUnregisterCampaignData","type":"object"},"EventSubscriptionResponse":{"description":"Single event subscription record","properties":{"data":{"$ref":"#/components/schemas/EventSubscription"},"type":{"default":"event_subscription","example":"event_subscription","type":"string"}},"title":"EventSubscriptionResponse","type":"object"},"UpsertEventSubscriptionData":{"description":"Parameters when creating or updating an existing event subscription.\n\nNote that only a `name` is required as the bare minimum for an event subscription.\n","properties":{"auth_identity":{"description":"Acts as the `username` for an auth pair.\n","example":"my-username","type":"string"},"auth_method":{"default":"NONE","description":"Depending on the protocol this will affect the authorization or authentication that will be performed.\n\nThis applies to HTTP, SMTP and SFTP.\n\n* `NONE` - no auth is required the event will be sent as is\n* `BASIC` - The `auth_identity` and `auth_secret` will form the auth pair\n* `BEARER` - Only the `auth_secret` will be used where applicable, for protocols that require both a username and password, the username will have a placeholder value.\n","enum":["NONE","BASIC","BEARER"],"example":"NONE","type":"string"},"auth_name":{"description":"Currently unused, but kept for future use.\n","example":"something","type":"string"},"auth_secret":{"description":"Acts as the `password` for an auth pair or just the general secret.\n","example":"my-secret-password","type":"string"},"custom_headers":{"description":"A list of additional headers that should be provided during the HTTP request.\n","items":{"description":"A single header entry, while multiple items can be provided with the same key, the behaviour\nmay not be consistent between destination servers.\n\nWhen in doubt, only use unique keys.\n","properties":{"key":{"example":"x-my-header","type":"string"},"value":{"example":"My Header Value","type":"string"}},"type":"object"},"type":"array"},"custom_query_params":{"description":"","items":{"description":"A single query parameter pair.\n","properties":{"key":{"example":"my_param","type":"string"},"value":{"example":"ParamValue","type":"string"}},"type":"object"},"type":"array"},"data":{"description":"Depending on the protocol specified this may be an http endpoint (HTTP), a hostname (SMTP or SFTP) or an email address (EMAIL).\n\nProtocol:\n* `NONE` - nothing, this field is unused\n* `HTTP` - the http server endpoint (e.g. \"http://events.example.com:7654/events/v1/ordering\")\n* `SFTP` - the sftp server address (e.g. \"sftp://sftp.example.com:2231/path/to/upload\")\n* `SMTP` - the relay server address (e.g. \"smtp://smtp.example.com:2554\")\n* `EMAIL` - the recipient email address (e.g. \"john.doe@example.com\")\n\nA keen eye may notice there was no mention of the recipient address for SMTP, that is covered in `recipient`.\n","example":"","type":"string"},"enabled":{"default":true,"description":"Is the subscription enabled to handle events?\n\nSubscriptions can be toggled on or off as needed.\n","example":true,"type":"boolean"},"name":{"description":"The friendly given name for this subscription\n","example":"CSP Events","maxLength":255,"type":"string"},"notes":{"description":"Any additional information about this subscription that otherwise could not fit into the name.\n\nThis can be useful to another user or agent that is reviewing the subscription.\n","maxLength":65535,"type":"string"},"protocol":{"default":"NONE","description":"When the subscription receives an event for handling, it wil be processed and sent using the specified protocol.\n\nAvailable:\n* `NONE` - effectively a no-op.\n* `HTTP` - sends the event over HTTP to a specified endpoint `data`.\n* `SFTP` - uploads the event to a specified SFTP server\n\nPlanned (currently unavailable, but may become available later):\n* `SMTP` - sends the event over SMTP (not email compatible)\n* `EMAIL` - emails the event to specified address in `data`\n","enum":["NONE","HTTP","SMTP","SFTP","EMAIL"],"example":"NONE","type":"string"},"recipient":{"description":"Only applicable when the `protocol` is SMTP, this will be the recipient address (e.g. \"events@example.com\")\n","example":"events@example.com","type":"string"},"topics":{"default":[],"description":"An event subscription must be list topics it wishes to receive events for.\n","items":{"description":"Topics affect which events the subscription will handle:\n\n* `NONE` - is not really a valid topic, but is provided as a placeholder\n* `DID` - did or number related changes such as components being added or removed from a number.\n* `CSP_BRAND` - CSP Brand related events, such as their creation or removal\n* `CSP_CAMPAIGN` - CSP Campaign related events, such as their creation or removal\n* `ORDER` - Whenever an order completes (successfully or unsuccessfully)\n* `REQUEST` - Whenever a request completes (successfully or unsuccessfully)\n* `OSR` - Whenever a request is received to overwrite an existing number (i.e. changing providers)\n","enum":["NONE","DID","CSP_BRAND","CSP_CAMPAIGN","ORDER","REQUEST","OSR"],"type":"string"},"type":"array"}},"title":"UpsertEventSubscriptionData","type":"object"},"CreateOnDoneActions":{"description":"A list of sub-tasks that should be executed during the DELIVERING status of the task.\n\nThese can include:\n* Notifying a specified endpoint about the completion of the task\n* Delivering the exported file to a specified endpoint\n* Doing nothing at all\n","items":{"$ref":"#/components/schemas/CreateOnDoneAction"},"title":"CreateOnDoneActions","type":"array"},"UserResponse":{"description":"Response when retrieving user information","properties":{"data":{"$ref":"#/components/schemas/User"},"type":{"default":"user","example":"user","type":"string"}},"required":["data","type"],"title":"UserResponse","type":"object"},"PermissionErrorsResponse":{"description":"Common errors response","properties":{"errors":{"description":"A list of errors from the request","items":{"$ref":"#/components/schemas/PermissionErrorObject"},"type":"array"}},"title":"PermissionErrorsResponse","type":"object"},"User":{"description":"A user is any agent that can interact with impersonated or portal APIs\n","properties":{"address":{"description":"User Address details, may differ from top-level details\n","properties":{"address1":{"type":"string"},"address2":{"type":"string"},"business_name":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"email":{"type":"string"},"fax_number":{"type":"string"},"first_name":{"type":"string"},"house_number":{"type":"string"},"last_name":{"type":"string"},"notes":{"type":"string"},"phone_number":{"type":"string"},"state":{"type":"string"},"zip_code":{"type":"string"}},"type":"object"},"email":{"description":"User's email\n","example":"john.doe@example.com","format":"email","type":"string"},"first_name":{"description":"User's first name\n","example":"John","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"last_name":{"description":"User's last name\n","example":"Doe","type":"string"},"title":{"description":"User's job title, or position\n","example":"Operator","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","first_name","last_name","email"],"title":"User","type":"object"},"RequestAddCampaignNumbersData":{"description":"Request for register numbers under campaign\n","properties":{"campaign_id":{"description":"The internal UUID of a known campaign.\n\n* This field will be backfilled if `tcr_campaign_id` is provided instead.\n* If this field AND `tcr_campaign_id` are provided they must resolve to the same campaign.\n","example":"5b502159-a3f4-48bd-87e7-205b7f0d6c7f","format":"uuid","type":"string"},"numbers":{"description":"A list of NANP 11-digit numbers to add campaigns to.\n\nKeep in mind, campaigns are only supported on non-tollfree TenDLC numbers.\n\nFor example: 12003004000.\n","items":{"example":"12003004000","type":"string"},"type":"array"},"tcr_campaign_id":{"description":"The TCR issued Campaign ID, typically in the form of CNNNNNN.\n\n* This field will be backfilled if `campaign_id` is provided instead.\n* If this field AND `campaign_id` are provided they must resolve to the same campaign.\n","example":"C000000","type":"string"},"tmobile_enabled":{"description":"Whether or not this request is subject to additional T-Mobile enablement, this will be auto-populated during request processing.\n\nNote that this is based on a campaign's supported MNOs.\n","example":true,"type":"boolean"}},"required":["numbers","tcr_campaign_id","campaign_id"],"title":"RequestAddCampaignNumbersData","type":"object"},"CartRequestRegisterCampaignData":{"description":"Request for registering a TCR Campaign.\n\nPlease note that TCR's Terms And Conditions must be accepted via the `terms_and_conditions` field\nin order to register a campaign, the request will be rejected otherwise.\n\nNote some fields are not marked as mandatory due to their hybrid validation requirements.\n\n* `tcr_reseller_id` - Pairs with `reseller_id`\n* `tcr_brand_id` - Pairs with `brand_id`\n\nWhen these hybrid fields care used either the `tcr_*` or the base field or BOTH can be used.\n\nThat is, to specify a reseller, you may provide its TCR ID (e.g. `R00000`) or it's UUID (e.g. `00000000-0000-4000-0000-000000000000`), or both can be provided.\n\nIn the case that both fields are specified, they MUST resolve to the same record.\n\nPlease note, brand and reseller are MANDATORY, but must be specified by one or both of its respective fields.\n","properties":{"affiliate_marketing":{"default":false,"example":false,"type":"boolean"},"age_gated":{"default":false,"example":false,"type":"boolean"},"brand_id":{"description":"Internal UUID of CSP Brand\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"description":{"type":"string"},"direct_lending":{"default":false,"example":false,"type":"boolean"},"embedded_link":{"default":false,"example":false,"type":"boolean"},"embedded_link_sample":{"type":"string"},"embedded_phone":{"default":false,"example":false,"type":"boolean"},"help_keywords":{"description":"Must be a CSV, that is a comma separated list of keywords.\n\nExcess spaces will be trimmed around each keyword.\n","example":"HELP,INFO","type":"string"},"help_message":{"type":"string"},"message_flow":{"type":"string"},"mno_ids":{"items":{"type":"string"},"type":"array"},"number_pool":{"default":false,"example":false,"type":"boolean"},"optin_keywords":{"description":"Must be a CSV, that is a comma separated list of keywords.\n\nExcess spaces will be trimmed around each keyword.\n","example":"OPTIN,START,SUBSCRIBE","type":"string"},"optin_message":{"type":"string"},"optout_keywords":{"description":"Must be a CSV, that is a comma separated list of keywords.\n\nExcess spaces will be trimmed around each keyword.\n","example":"OPTOUT,STOP,UNSUBSCRIBE","type":"string"},"optout_message":{"type":"string"},"privacy_policy_link":{"type":"string"},"reseller_id":{"description":"Internal UUID of CSP Reseller\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"samples":{"items":{"type":"string"},"type":"array"},"sub_use_cases":{"items":{"type":"string"},"type":"array"},"subscriber_help":{"default":false,"example":false,"type":"boolean"},"subscriber_optin":{"default":false,"example":false,"type":"boolean"},"subscriber_optout":{"default":false,"example":false,"type":"boolean"},"tcr_brand_id":{"description":"TCR issued Brand ID.\n","example":"B000000","type":"string"},"tcr_reseller_id":{"description":"TCR issued Reseller ID.\n","example":"R000000","type":"string"},"terms_and_conditions":{"description":"Do you accept TCR's Terms and Conditions, this flag MUST be true in order to register a\ncampaign.\n\nIf false the campaign will not be accepted for registration.\n","example":false,"type":"boolean"},"terms_and_conditions_link":{"type":"string"},"use_case":{"type":"string"}},"required":["use_case","description","message_flow","number_pool","age_gated","direct_lending","subscriber_optin","subscriber_optout","subscriber_help","terms_and_conditions","samples"],"title":"CartRequestRegisterCampaignData","type":"object"},"RequestProvisionRecordResponse":{"description":"A single Provision Record Response.\n","properties":{"data":{"$ref":"#/components/schemas/RequestProvisionRecord"},"type":{"default":"request_provision_record","example":"request_provision_record","type":"string"}},"title":"RequestProvisionRecordResponse","type":"object"},"CreateDestinationRequest":{"description":"Request for creating a new Number Destination","properties":{"data":{"$ref":"#/components/schemas/UpsertDestinationData"},"type":{"default":"number_destination","example":"number_destination","type":"string"}},"required":["data"],"title":"CreateDestinationRequest","type":"object"},"CreateApiKeyRequest":{"description":"Request for update an existing API Key","properties":{"data":{"$ref":"#/components/schemas/CreateApiKeyData"},"type":{"default":"api_key","example":"api_key","type":"string"}},"required":["data"],"title":"CreateApiKeyRequest","type":"object"},"CspCampaignUnsharingConflictErrorsObject":{"description":"An object representing a single unsharing conflict error.\n\nThese conflicts may happen if a campaign is to be removed from a shared resource group, but\nis already associated with one or more numbers.\n","properties":{"code":{"description":"Contains static error code representing the error\n","enum":["conflict.remove_shared_resource_group"],"example":"conflict.remove_shared_resource_group","type":"string"},"detail":{"description":"Contains dynamic description of the error","example":"Cannot remove shared resource group, may still be associated with numbers","type":"string"},"params":{"description":"Contains additional parameters based on the permission error","properties":{},"type":"object"},"sub_code":{"description":"Some codes may have sub codes that further describe an error.\n","example":"none","type":"string"},"title":{"description":"A user friendly title for the error.","example":"Conflict","type":"string"}},"required":["title","detail","code"],"title":"CspCampaignUnsharingConflictErrorsObject","type":"object"},"CreateSecretKeyData":{"description":"Parameters for updating a Secret Key","properties":{"name":{"description":"A friendly name to identify the Secret Key","example":"My Secret Key","maxLength":255,"minLength":3,"type":"string"},"notes":{"description":"Any notes about the Secret Key, like, what it is used for, or other sharable details.\n","example":"This Secret Key is used for the west datacenter's SMS notifications.","maxLength":65535,"minLength":0,"type":"string"},"size":{"description":"The size of the key that should be created in bytes, or the size of the key in the system.\n\nDifferent use cases or methods will require different length keys.\n","enum":[16,24,32,48,64],"example":32,"type":"number"},"usage":{"description":"What is the intended usage of the Secret Key, this will bar it from being used for other cases.\n\nNONE is placeholder or temporary disablement state reserved for internal usage.\n\nOnly SIGNING and ENCRYPTION can be used otherwise.\n","enum":["NONE","SIGNING","ENCRYPTION"],"example":"SIGNING","type":"string"}},"required":["name","usage","size"],"title":"CreateSecretKeyData","type":"object"},"UpdateCartData":{"description":"Parameters for updating a cart","properties":{"name":{"type":"string"},"notes":{"type":"string"}},"title":"UpdateCartData","type":"object"},"CspVettingFeedbackCodesResponse":{"description":"CSP Vetting Feedback Codes","items":{"$ref":"#/components/schemas/CspVettingFeedbackCode"},"title":"CspVettingFeedbackCodesResponse","type":"array"},"SharedResourceGroupResponse":{"description":"Single Shared Resource Group","properties":{"associations":{"properties":{"account":{"description":"The source or origin account that resources are shared from.\n","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"type":"object"},"donee":{"description":"The destination or target account that resources will be shared with.\n","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"type":"object"}},"type":"object"},"data":{"$ref":"#/components/schemas/SharedResourceGroup"},"type":{"default":"shared_resource_group","example":"shared_resource_group","type":"string"}},"title":"SharedResourceGroupResponse","type":"object"},"RequestUnregisterBrandData":{"description":"Request for unregistering a TCR Brand.","example":{},"properties":{"brand_id":{"description":"Internal UUID","example":"89900e23-aafc-4b03-954d-0b11d3948042","format":"uuid","type":"string"},"tcr_brand_id":{"description":"TCR issued Brand ID","example":"B000000","type":"string"}},"title":"RequestUnregisterBrandData","type":"object"},"ResourceNotFoundErrorObject":{"description":"An object representing a single not-found error.\n","properties":{"code":{"description":"Contains static error code representing the error","enum":["not_found"],"example":"not_found","type":"string"},"detail":{"description":"Contains dynamic description of the error","example":"The specified resource could not be found","type":"string"},"params":{"description":"Contains additional parameters based on the permission error","properties":{"resource":{"properties":{"id":{"description":"The identifier used to lookup the resource, some resources may allow different\nids for lookup of the same resource.\n","example":"3fbb573a-6049-44a0-a12c-d3a1ffae0b69","type":"string"},"type":{"description":"Name of the resource\n","example":"user","type":"string"}},"required":["type","id"],"type":"object"}},"type":"object"},"sub_code":{"description":"Some codes may have sub codes that further describe an error.\n","example":"none","type":"string"},"title":{"description":"A user friendly title for the error, will usually reflect the http error code","example":"Not Found","type":"string"}},"required":["title","detail","code","params"],"title":"ResourceNotFoundErrorObject","type":"object"},"OnDoneAction":{"properties":{"archive_format":{"default":"NONE","description":"Sometimes it is desirable to send the exported file in some kind of archive or\ncompressed format.\n\nThis field can be set to configure that.\n\nOtherwise the file will be returned in its raw form.\n\n* `NONE` - no archive format, returns the file as-is (default)\n* `TAR` - send the exported file in a tarball\n* `TAR_GZ` - send the exported file in a gzipped tarball\n* `ZIP` - send the exported file in a zipfile\n","enum":["NONE","TAR","TAR_GZ","ZIP"],"example":"TAR_GZ","type":"string"},"auth_identity":{"description":"See `auth_method` for details\n","example":"upload-user","type":"string"},"auth_method":{"default":"NONE","description":"Working with the `auth_identity` and `auth_secret` fields, this forms the authorization\ndetails for the HTTP and SFTP uploaders.\n\n* `NONE` - no authorization required\n  `HTTP` protocol will not send an Authorization header\n  `SFTP` protocol will default to username \"tychron\", and password \"tychron\" for its details\n* `BASIC` - use \"Basic\" authorization, or a username + password pairing\n  `auth_identity` will be the username\n  `auth_secret` will be the password\n* `BEARER` - use a \"Bearer\" authorization, that is, just the secret\n  `HTTP` protocol will send a `Authorization: Bearer <auth_secret>` header\n  `SFTP` will default its username to \"tychron\" and set the password as the `auth_secret`\n","enum":["NONE","BASIC","BEARER"],"example":"BASIC","type":"string"},"auth_secret":{"description":"See `auth_method` for details\n","example":"supersecretsauce","type":"string"},"data":{"description":"Depending on the protocol used, this can be a url, or mailing address.\n\n* `NONE` - empty\n* `HTTP` - Must be a valid HTTP url, query parameters will be passed in as is\n* `SFTP` - Must be of form:\n\n  `sftp://hostname:port/subpath`\n\n  __Example 1__:\n\n  Using default ssh port `22` and write the exported file under the given subpath.\n  NOTE. the subpath MUST be created for the upload to complete no attempts will be made to\n  create any new directories by sftp uploader.\n\n  `sftp://example.com/sub/path/to/store/exported_file/in`\n\n  __Example 2__:\n\n  Use the explictly set port `22` and write the exported file to wherever the client\n  logged in.\n\n  `sftp://example.com:22`\n","example":"sftp://example.com:22/sub/path/to/store/exported_file/in","type":"string"},"error_code":{"default":"OK","description":"Further description of a status.\n\n* `OK` - no error, all is well\n","enum":["OK"],"example":"OK","type":"string"},"filename":{"description":"Optional override for SFTP filename.\n\nNote. you are responsible for the extensions as well for any archive format it may have.\n","type":"string"},"protocol":{"default":"NONE","description":"The specific transport protocol to use to delivery notifications or the exported file.\n\n* `NONE` - use nothing\n* `HTTP` - send notifications or files over HTTP\n* `SFTP` - send exported files over SFTP\n","enum":["NONE","HTTP","SFTP"],"example":"SFTP","type":"string"},"reference_id":{"description":"Optional client provided id to identify the action.\n","example":"SFTP-export-action","maxLength":255,"minLength":0,"type":"string"},"status":{"default":"NEW","description":"The general status of the action.\n\n* `NEW` - the task has not been executed yet\n* `COMPLETED` - the task has been executed and was completed successfully\n* `ERROR` - the task has experienced an error, and will retry at a later time\n  A task will not be considered completed until ALL actions are completed successfully\n* `REJECTED` - the action has been rejected possibly due to an error in the task\n","enum":["NEW","COMPLETED","ERROR","REJECTED"],"example":"NEW","type":"string"},"type":{"default":"NONE","description":"What kind of action will this be?\n\n* `NONE` - do nothing\n* `NOTIFY` - notify the specified endpoint that the export has completed (only works with HTTP currently)\n* `SEND` - send the exported file to the specified endpoint (HTTP or SFTP)\n","enum":["NONE","NOTIFY","SEND"],"example":"SEND","type":"string"}},"required":["type","protocol","auth_method","archive_format"],"title":"OnDoneAction","type":"object"},"FileResponse":{"description":"Any general binary blob from a file response call.\n\nDepending on the API in, this response may have its content-type header appropriately set,\nor defaults to application/octet-stream.\n","format":"binary","title":"FileResponse","type":"string"},"SwitchEncryptionMethod":{"description":"Encrypts the request body using the configured secret for the respective message type.\n\n* `NONE` - No encryption is done to the payload, the default\n* `AES_128_GCM` - Requires a 16 byte secret key\n* `AES_192_GCM` - Requires a 24 byte secret key\n* `AES_256_GCM` - Requires a 32 byte secret key\n\nNOTE. Request Headers are NOT encrypted.\n\nUpon encryption the content-type will be replaced by `application/octet-stream`.\n\nThe following headers will be added to all HTTP requests that have a non-`NONE` method configured:\n* `x-message-iv` - a Base16 (lowercase) encoded value, the initialization vector (IV), SHALL be 12 bytes when decoded\n* `x-message-content-type` - the original content-type of the message before it was encrypted\n\nThe AES-GCM additional authenticated data (AAD) SHALL be an empty byte string (i.e. \"\").\n\nThe AES-GCM authentication tag is appended directly to the request body and SHALL be the final 16 bytes.\nThe request body MUST therefore contain at least 16 bytes.\n\nExample (Elixir):\n\n  ciphertext_size = byte_size(body) - 16\n  <<ciphertext::binary-size(^ciphertext_size), authentication_tag::binary-size(16)>> = body\n\n","enum":["NONE","AES_128_GCM","AES_192_GCM","AES_256_GCM"],"title":"SwitchEncryptionMethod","type":"string"},"SystemEventDataDidDeleted":{"description":"`DID_DELETED`\n","properties":{"did_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"number":{"description":"The 3 to 15 digit code of the number.\n","example":"12003004000","type":"string"},"reason":{"$ref":"#/components/schemas/SystemEventDataDidDeletedReason"},"request_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},"required":["reason","number","did_id"],"title":"SystemEventDataDidDeleted","type":"object"},"CreateSwitchRequest":{"description":"Request for creating a new Switch","properties":{"data":{"$ref":"#/components/schemas/UpsertSwitchData"},"type":{"default":"switch","example":"switch","type":"string"}},"required":["data"],"title":"CreateSwitchRequest","type":"object"},"ResourceNotFoundErrorsResponse":{"description":"Error Response when a resource cannot be found.\n","properties":{"errors":{"description":"A list of errors from the request","items":{"$ref":"#/components/schemas/ResourceNotFoundErrorObject"},"type":"array"}},"required":["errors"],"title":"ResourceNotFoundErrorsResponse","type":"object"},"CspStockExchangesResponse":{"description":"CSP Stock Exchanges","items":{"example":"AMEX","type":"string"},"title":"CspStockExchangesResponse","type":"array"},"CreateExportTaskData":{"description":"Parameters for creating a new export task.\n","properties":{"date":{"description":"An ISO8601 formatted date.\nDetermines which day's cdrs will be exported.\n\nNote that if a current or future date is provided, the task will be deferred to the day\nAFTER the given date.\n","format":"date","type":"string"},"format":{"default":"CSV","description":"The intended exported format, CSV will export a CSV file as expected.\nMLJSON exports the cdrs as Multiline-JSON, that is each row in the file is a single CDR record encoded as JSON.\n","enum":["CSV","MLJSON"],"example":"CSV","type":"string"},"on_done_actions":{"$ref":"#/components/schemas/CreateOnDoneActions"},"reference_id":{"description":"A unique client provided id for the export task.\n\nThere is no particular format that is enforced, a general recommendation is to avoid\nspaces and non-ASCII characters for best experience.\n","example":"cdr-export-API-2022-03-14","maxLength":255,"minLength":1,"type":"string"},"type":{"description":"The main type of CDR that should be exported\n\n* `API` - contain any LRN, LRNE, CNAM related calls\n* `MMS` - contain the billed details for MMS records\n* `SMS` - contain the billed details for SMS records\n* `VOICE` - contain any voice related calls (TERMINATION, DID*)\n* `BALANCE` - any balance related changes, including payments, adjustments etc...\n* `MISC` - contains various registry related feees\n","enum":["API","MMS","SMS","VOICE","BALANCE","MISC"],"type":"string"}},"required":["reference_id","date","type","format"],"title":"CreateExportTaskData","type":"object"},"OrdersResponse":{"description":"Orders","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/OrderResponse"},"type":"array"}},"title":"OrdersResponse","type":"object"},"RequestAddMessagingNumbersData":{"description":"Request for enabling numbers for messaging.\n\nNote that this request handles two different kinds of enablements:\n\n* BYON (Bring Your Own Number) type enablements, wheree a number will be registered for messaging only.\n* Enabling messaging on an existing number.\n","example":{"api_key_ids":["ca78c61f-b6ca-4ed5-91d5-1f3458e16258"],"message_class":"A2P","mms_enabled":false,"numbers":["12003004000"],"switch_id":"9cdb55c0-6e15-4513-8430-4152fc8e07d3"},"properties":{"api_key_ids":{"default":[],"description":"A list of API Keys that should be bound to the numbers once enabled.\n\nIf the number is already bound to the listed keys, then nothing will change.\n\nNote that this will __add__ new keys and not replace the existing bindings.\n","items":{"description":"API Key ID\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"type":"array"},"message_class":{"default":"A2P","description":"The messaging class of the numbers to be provisioned, by default this will be A2P.\n\n* `A2P` - Application to Person\n* `P2P` - Person to Person\n","enum":["A2P","P2P"],"type":"string"},"mms_enabled":{"default":false,"description":"Should the numbers be MMS enabled?\n\nMMS can also be enabled later by simply toggling it via the DID API.\n\nNote. If your account does not support MMS by default, then toggling this flag does nothing.\n","type":"boolean"},"numbers":{"description":"A list of NANP 11-digit numbers to enable messaging on.\n\nNon-tollfree numbers can normally be enabled outside of some special cases.\n\nFor tollfree, additional action may be required before completion.\n","items":{"description":"A phone number that should be enabled for messaging.\n","example":"12003004000","format":"tel","type":"string"},"type":"array"},"switch_id":{"description":"The ID of the switch that should be attached to the did for messaging.\n\nNote. This changes the DID's messaging switch, not its voice fallback one.\n\nLeaving this field blank will not overwrite the existing switch.\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"required":["numbers"],"title":"RequestAddMessagingNumbersData","type":"object"},"RequestsResponse":{"description":"Requests","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/RequestResponse"},"type":"array"}},"title":"RequestsResponse","type":"object"},"SystemEventDataOsrOverwriteRequestCompleted":{"description":"`OSR_OVERWRITE_REQUEST_COMPLETED`\n","properties":{"did_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"error_code":{"description":"Further explanation of an error status","enum":["OK"],"example":"OK","type":"string"},"new_nnid_service_provider":{"description":"","example":"ACME Corp","type":"string"},"number":{"description":"The 3 to 15 digit code of the number.\n","example":"12003004000","type":"string"},"osr_overwrite_request_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"review_status":{"description":"The review status of the request, defaults to NONE.","enum":["NONE","APPROVED","REJECTED","AUTO_APPROVED","AUTO_REJECTED","FORCE_DELETED"],"example":"NONE","type":"string"},"status":{"description":"The current processing status of the request","enum":["NEW","REVIEWED","APPROVED","REJECTED","ERROR","STALE","DELETED"],"example":"NEW","type":"string"}},"title":"SystemEventDataOsrOverwriteRequestCompleted","type":"object"},"CspUsecase":{"description":"CSP Usecases","properties":{"classification":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"maxSubUsecases":{"example":5,"type":"number"},"minSubUsecases":{"example":1,"type":"number"},"validSubUsecase":{"example":true,"type":"boolean"}},"title":"CspUsecase","type":"object"},"AttachSwitchMmsSigningKeyRequest":{"description":"Request for attaching a Secret Key to a switch for MMS Signing","properties":{"data":{"$ref":"#/components/schemas/AttachSwitchMmsSigningKeyData"},"type":{"default":"switch","example":"switch","type":"string"}},"required":["data"],"title":"AttachSwitchMmsSigningKeyRequest","type":"object"},"Destination":{"description":"A did's voice destination","properties":{"activated":{"description":"Whether or not the destination is considered for routing","example":true,"type":"boolean"},"auth_identity":{"description":"The username for a BASIC auth_method","example":"username","type":"string"},"auth_method":{"description":"The authorization method to used for HTTP_ROUTE destinations","enum":["NONE","BASIC","BEARER"],"example":"BASIC","type":"string"},"auth_secret":{"description":"The password for a BASIC auth_method or token for BEARER auth_method","example":"password","type":"string"},"destination":{"description":"Depending on the type, this field can contain different data.\n\n* `VOIP` - destination should be in the form of `local@domain` where local is the destination prefix and domain is the SIP capable server to handle the request\n* `PSTN` - destination should be a plain format number (e.g. 12003004000), can also be a comma separated list to allow multiple destinations\n* `HTTP_ROUTE` - destination should be an http uri which will handle the routing request\n* `TTS` - destination should be one of the pre-approved values (more may be added in the future):\n  * `DISCONNECTED`\n  * `TEXT_ONLY`\n  * `BUSY`\n  * `CONGESTION`\n* `TTS_CUSTOM` - destination should be the message to be read\n* `TTS_MESSAGE_SET` - destination will be set to \"UNUSED\" regardless of provided value, instead the tts_message_set_id MUST be set on the request\n","example":"http://example.com/http/route/call","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"priority":{"description":"Affects the ordering of destinations for calls, 1 will be first while 9 is the last","example":1,"type":"integer"},"type":{"description":"The destination type, see destination field for more detail","enum":["VOIP","PSTN","HTTP_ROUTE","TTS","TTS_CUSTOM","TTS_MESSAGE_SET"],"example":"HTTP_ROUTE","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"wait_time":{"description":"How long will calls wait for the destination to connect.","example":120,"type":"integer"}},"required":["id","inserted_at","updated_at","activated","priority","type","destination"],"title":"Destination","type":"object"},"CreateBulkDipTaskData":{"description":"Parameters for creating a new export task.\n","properties":{"enhanced":{"default":false,"description":"Used for LRN type, enables enhanced lookup.\n\nPlease consult the LRN documentation for additional details.\n","example":false,"type":"boolean"},"format":{"default":"CSV","description":"The intended exported format, CSV will export a CSV file as expected.\nMLJSON exports the cdrs as Multiline-JSON, that is each row in the file is a single record encoded as JSON.\n\n* `CSV`\n* `MLJSON`\n","enum":["CSV","MLJSON"],"example":"CSV","type":"string"},"messaging_lookup":{"default":false,"description":"Used for LRN type, enables messaging lookup, MCL will be added.\n\nPlease consult the LRN documentation for additional details.\n","example":false,"type":"boolean"},"numbers":{"description":"Numbers to lookup","items":{"description":"A number to lookup","example":"12003004000","format":"tel","type":"string"},"maxItems":20000,"minItems":0,"type":"array"},"on_done_actions":{"$ref":"#/components/schemas/CreateOnDoneActions"},"reference_id":{"description":"A unique client provided id for the bulk task.\n\nThere is no particular format that is enforced, a general recommendation is to avoid\nspaces and non-ASCII characters for best experience.\n","example":"lrn-bulk-LRN-2022-10-14","maxLength":255,"minLength":1,"type":"string"},"type":{"description":"The type of bulk dip that should be performed:\n\n* `LRN` - Location Routing Number lookups\n* `MCL` - Messaging Carrier Lookup\n* `CNAM` - Caller Name\n","enum":["LRN","MCL","CNAM"],"type":"string"}},"required":["reference_id","date","type","format"],"title":"CreateBulkDipTaskData","type":"object"},"CartRequestRemoveNumbersData":{"description":"Request for removing numbers and all of their components from the system.\n\nThis request should be used if you wish to completely remove a number and all of its components.\n\nThis request can be used to remove voice-only or messaging-only numbers as well, and should be\npreferred in those cases.\n\nThe request itself will create the respective removal requests during processing.\n","properties":{"numbers":{"description":"A list of NANP 11-digit numbers to remove","items":{"example":"12003004000","type":"string"},"type":"array"}},"required":["numbers"],"title":"CartRequestRemoveNumbersData","type":"object"},"UpsertNumberClientSuspensionRequest":{"description":"Request for creating a new Number Client Suspension","properties":{"data":{"$ref":"#/components/schemas/UpsertNumberClientSuspensionData"},"type":{"default":"number_client_suspension","example":"number_client_suspension","type":"string"}},"required":["data"],"title":"UpsertNumberClientSuspensionRequest","type":"object"},"CspMnoOperationStatusesResponse":{"description":"CSP MNO Operation Statuses","items":{"example":"REVIEW","type":"string"},"title":"CspMnoOperationStatusesResponse","type":"array"},"AddonsData":{"description":"Some requests may allow specifying \"addons\", these are additional functions or features that are\nprovisioned with the numbers once they have become available.\n\nAn example would be to immediately provision numbers for messaging in a NEW_NUMBERS request.\n","properties":{"messaging":{"description":"The messaging section affects the enablement of SMS, MMS and adding DIDs to Campaigns.\n\nNote typically these properties may be offloaded to a ADD_MESSAGING_NUMBERS request,\nso all rules from that request apply to this section where applicable.\n","properties":{"api_key_ids":{"description":"A list of API Keys that should be assigned to the DIDs.\n","items":{"description":"The ID of an API Key that should be assigned to the DIDs.\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"type":"array"},"csp_campaign_id":{"description":"Tychron issued ID of a Campaign that should be assigned to the DIDs.\n","format":"uuid","type":"string"},"enabled":{"description":"Whether or not this addon should be applied.\n","example":false,"type":"boolean"},"mms_enabled":{"description":"Should MMS be enabled on the DIDs?\n","example":true,"type":"boolean"},"notes":{"description":"Any notes about the messaging addon, this will be copied into the ADD_MESSAGING_NUMBERS\nrequests.\n","example":"This is for a state child support centre and will be enabled on Campaign X.\n","type":"string"},"switch_id":{"description":"The ID of the messaging Switch that should be assigned to the DIDs.\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"tcr_campaign_id":{"description":"TCR Campaign ID of the Campaign that should be assigned to the DIDs.\n","example":"C000000","type":"string"}},"type":"object"},"voip_destinations":{"description":"The VoIP Destinations Addons allows configuring the VoIP Destinations on a DID once it's\nconsidered generally available.\n","properties":{"destinations":{"description":"A list of DID Destinations that should be assigned to the DIDs upon creation.\n","items":{"description":"Destination configuration parameters.\n","properties":{"activated":{"description":"Whether or not the destination is considered for routing","example":true,"type":"boolean"},"auth_identity":{"description":"The username for a BASIC auth_method","example":"username","type":"string"},"auth_method":{"description":"The authorization method to used for HTTP_ROUTE destinations","enum":["NONE","BASIC","BEARER"],"example":"BASIC","type":"string"},"auth_secret":{"description":"The password for a BASIC auth_method or token for BEARER auth_method","example":"password","type":"string"},"destination":{"description":"Depending on the type, this field can contain different data.\n\n* `VOIP` - destination should be in the form of `local@domain` where local is the destination prefix and domain is the SIP capable server to handle the request\n* `PSTN` - destination should be a plain format number (e.g. 12003004000), can also be a comma separated list to allow multiple destinations\n* `HTTP_ROUTE` - destination should be an http uri which will handle the routing request\n* `TTS` - destination should be one of the pre-approved values (more may be added in the future):\n  * `DISCONNECTED`\n  * `TEXT_ONLY`\n  * `BUSY`\n  * `CONGESTION`\n* `TTS_CUSTOM` - destination should be the message to be read\n* `TTS_MESSAGE_SET` - destination will be set to \"UNUSED\" regardless of provided value, instead the tts_message_set_id MUST be set on the request\n","example":"http://example.com/http/route/call","type":"string"},"priority":{"description":"Affects the ordering of destinations for calls, 1 will be first while 9 is the last","example":1,"type":"integer"},"type":{"description":"The destination type, see destination field for more detail","enum":["VOIP","PSTN","HTTP_ROUTE","TTS","TTS_CUSTOM","TTS_MESSAGE_SET"],"example":"HTTP_ROUTE","type":"string"}},"type":"object"},"type":"array"},"enabled":{"description":"Whether or not the VoIP Destinations should be configured.\n","type":"boolean"},"switch_id":{"description":"The ID of the VoIP Fallback Switch that should be assigned to DIDs.\n","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"type":"object"}},"title":"AddonsData","type":"object"},"SystemEventDataDidOptoutItemDeleted":{"description":"`DID_OPTOUT_ITEM_DELETED`\n\nWhile it may be confusing at first, the deletion of an optout item signifies that a subscriber,\nas opted-in to receive messages and a restriction is no longer in place.\n","properties":{"host_did_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"host_number":{"description":"A reference to the host number that this optout belongs to.\n\nThat is the number that received the optout request.\n","example":"12003004000","type":"string"},"keyword":{"description":"If the optout was triggered by the system, this field will be populated with the keyword\nused.\n\nWill be some variant of STOP normally.\n\nFor more information about keywords and their handling, contact support.\n","example":"STOP","type":"string"},"remote_number":{"description":"The client number that sent the optout, or is opted out of receiving messages from the\nhost number\n","example":"12003004001","type":"string"}},"required":["remote_number","host_did_id"],"title":"SystemEventDataDidOptoutItemDeleted","type":"object"},"SystemEventDataCspCampaignRegistered":{"description":"`CSP_CAMPAIGN_REGISTERED`\n","properties":{"csp_campaign_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"tcr_campaign_id":{"description":"The TCR issued campaign ID","example":"C000000","type":"string"}},"required":["tcr_campaign_id","csp_campaign_id"],"title":"SystemEventDataCspCampaignRegistered","type":"object"},"CspErrorCodesResponse":{"additionalProperties":{"description":"Error Code Description","type":"string"},"description":"CSP Error Codes","title":"CspErrorCodesResponse","type":"object"},"RequestRegisterBrandData":{"description":"Request for registering a TCR Brand.","example":{},"properties":{"address1":{"type":"string"},"alt_business_id":{"type":"string"},"alt_business_id_type":{"type":"string"},"brand_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"brand_relationship":{"type":"string"},"business_contact_email":{"format":"email","type":"string"},"cdr_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"city":{"type":"string"},"company_name":{"example":"ACME Corp","type":"string"},"country_code":{"type":"string"},"display_name":{"example":"ACME Corp Brand","type":"string"},"ein":{"example":"00000000","type":"string"},"ein_issuing_country_code":{"example":"US","type":"string"},"email":{"format":"email","type":"string"},"entity_type":{"type":"string"},"first_name":{"example":"John","type":"string"},"last_name":{"example":"Doe","type":"string"},"phone_number":{"example":"12003004000","type":"string"},"state":{"type":"string"},"stock_exchange":{"type":"string"},"stock_symbol":{"type":"string"},"tcr_brand_id":{"example":"B000000","type":"string"},"tcr_csp_id":{"example":"S000000","type":"string"},"vertical":{"type":"string"},"website":{"type":"string"},"zip_code":{"type":"string"}},"title":"RequestRegisterBrandData","type":"object"},"Role":{"description":"A role controls the access to resources and their actions within the API.\n","properties":{"default_scope":{"description":"Role's default_scope, this is the scope applied when resources specify IGNORE for their own scope.\n\n* `IGNORE` - When used as the default_scope, effectively disables all resources that use IGNORE as their scope.\n* `USER` - Resources are scoped to the user, or their nearest account where applicable.\n* `ACCOUNT` - Resources are scoped against the user's account.\n* `SYSTEM` - Cannot be set by the API, but provided for reference, this is the system-wide scope.\n","enum":["IGNORE","ACCOUNT","USER","SYSTEM"],"example":"ACCOUNT","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"level":{"default":"CLIENT","description":"The role's level dictates the overall access the associated user will have.\n\n* `GUEST` - Unprivileged user\n* `CLIENT` - This is the default level for Roles created from the API.\n* `ADMIN` - System administrators, cannot be set via the API, provided for reference.\n","enum":["GUEST","CLIENT","ADMIN"],"example":"CLIENT","type":"string"},"name":{"description":"Role's display name.\n","example":"Ordering Role","type":"string"},"notes":{"description":"Any notes about the role.\n","example":"This role governs the Ordering System Access","type":"string"},"rank":{"default":0,"description":"Levels dictate the access, scopes filter resources, and ranks allow differentiating the same level of\naccess within the account.\n\nRanks allow organizing roles within the account by importance.\n\n0 is most relevant sometimes referred to as the highest rank.\n1+ are ranks lower.\n\nRanks primarily affect the modification of:\n* Users - See Roles for information, as a user's Role dictates their permissions.\n* Roles - Roles of the same rank can modify themselves and those of lower rank, ranks of a higher rank cannot be modified by those of a lower rank.\n","minimum":0,"type":"integer"},"resources":{"description":"Role's job title, or position\n","items":{"properties":{"actions":{"items":{"properties":{"name":{"description":"The name of the action.\n","enum":["sell_rates","buy_rates","count","full_index","index","assoc","show","charge","reset","create","update","delete","purge","move","import","export","review","protect","share","unshare","impersonate","checkout","lookup_result","process","cancel","download","upload","summarize"],"type":"string"},"value":{"description":"Whether or not the action is enabled.\n\nNOTE. This is not a Boolean.\n\nThe field is an enum that happens to use the values true and false as strings.\n","enum":["true","false"],"type":"string"}},"type":"object"},"type":"array"},"resource_id":{"type":"string"},"scope":{"default":"IGNORE","description":"See Role's default_scope for more details on the enum.\n\nIGNORE acts as a fallback to the `default_scope`.\n","enum":["IGNORE","ACCOUNT","USER","SYSTEM"],"example":"IGNORE","type":"string"}},"type":"object"},"type":"array"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","rank","name","level","default_scope"],"title":"Role","type":"object"},"UpdateCartRequestRequest":{"description":"Request for update an existing Cart Request","properties":{"data":{"$ref":"#/components/schemas/UpdateCartRequestData"},"type":{"default":"request","example":"request","type":"string"}},"required":["data"],"title":"UpdateCartRequestRequest","type":"object"},"ApiKeyResponse":{"description":"Single API Key","properties":{"data":{"$ref":"#/components/schemas/ApiKey"},"type":{"default":"api_key","example":"api_key","type":"string"}},"title":"ApiKeyResponse","type":"object"},"SystemEventDataRequestCompletedDataRegisterBrand":{"description":"Data for `REGISTER_BRAND` requests.\n","properties":{"brand_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"tcr_brand_id":{"example":"B123456","type":"string"}},"title":"SystemEventDataRequestCompletedDataRegisterBrand","type":"object"},"SystemEventDataDidCreatedReason":{"description":"The reason a DID was deleted.\n","enum":["UNKNOWN","CREATED_BY_REQUEST"],"title":"SystemEventDataDidCreatedReason","type":"string"},"CreateRoleData":{"description":"Request Data when creating a new role.\n","properties":{"default_scope":{"description":"Role's default_scope, this is the scope applied when resources specify IGNORE for their own scope.\n\n* `IGNORE` - When used as the default_scope, effectively disables all resources that use IGNORE as their scope.\n* `USER` - Resources are scoped to the user, or their nearest account where applicable.\n* `ACCOUNT` - Resources are scoped against the user's account.\n* `SYSTEM` - Cannot be set by the API, but provided for reference, this is the system-wide scope.\n","enum":["IGNORE","ACCOUNT","USER","SYSTEM"],"example":"ACCOUNT","type":"string"},"name":{"description":"Role's display name.\n","example":"Ordering Role","type":"string"},"notes":{"description":"Any notes about the role.\n","example":"This role governs the Ordering System Access","type":"string"},"rank":{"default":0,"description":"Levels dictate the access, scopes filter resources, and ranks allow differentiating the same level of\naccess within the account.\n\nRanks allow organizing roles within the account by importance.\n\n0 is most relevant sometimes referred to as the highest rank.\n1+ are ranks lower.\n\nRanks primarily affect the modification of:\n* Users - See Roles for information, as a user's Role dictates their permissions.\n* Roles - Roles of the same rank can modify themselves and those of lower rank, ranks of a higher rank cannot be modified by those of a lower rank.\n","minimum":0,"type":"integer"},"resources":{"description":"Role's job title, or position\n","items":{"properties":{"actions":{"items":{"properties":{"name":{"description":"The name of the action.\n","enum":["sell_rates","buy_rates","count","full_index","index","assoc","show","charge","reset","create","update","delete","purge","move","import","export","review","protect","share","unshare","impersonate","checkout","lookup_result","process","cancel","download","upload","summarize"],"type":"string"},"value":{"description":"Whether or not the action is enabled.\n\nNOTE. This is not a Boolean.\n\nThe field is an enum that happens to use the values true and false as strings.\n","enum":["true","false"],"type":"string"}},"type":"object"},"type":"array"},"resource_id":{"type":"string"},"scope":{"default":"IGNORE","description":"See Role's default_scope for more details on the enum.\n\nIGNORE acts as a fallback to the `default_scope`.\n","enum":["IGNORE","ACCOUNT","USER","SYSTEM"],"example":"IGNORE","type":"string"}},"type":"object"},"type":"array"}},"required":["name","resources"],"title":"CreateRoleData","type":"object"},"UpsertEventSubscriptionRequest":{"description":"Update request for an existing Event Subscription","properties":{"data":{"$ref":"#/components/schemas/UpsertEventSubscriptionData"},"type":{"default":"event_subscription","example":"event_subscription","type":"string"}},"required":["data"],"title":"UpsertEventSubscriptionRequest","type":"object"},"CreateApiKeyData":{"description":"Parameters for updating an api key","properties":{"active":{"description":"Whether the API Key is active for use","example":false,"type":"boolean"},"name":{"description":"A display name for the API Key","type":"string"},"notes":{"description":"Any notes on the API Key","type":"string"}},"required":["name"],"title":"CreateApiKeyData","type":"object"},"CspCampaignResponse":{"description":"Single campaign","properties":{"associations":{"properties":{"brand":{"description":"The parent CSP Brand of the campaign\n","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"tcr_brand_id":{"example":"B000000","format":"tcr_brand_id","type":"string"}},"required":["id"],"type":"object"},"shared_resource_group":{"description":"The Shared Resource Group on the campaign, if any\n","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"required":["id"],"type":"object"}},"required":["brand"],"type":"object"},"data":{"$ref":"#/components/schemas/CspCampaign"},"type":{"default":"csp_campaign","example":"csp_campaign","type":"string"}},"required":["type","data","associations"],"title":"CspCampaignResponse","type":"object"},"CreateBulkDipTaskRequest":{"description":"Request for creating a new Bulk Dip Task","properties":{"data":{"$ref":"#/components/schemas/CreateBulkDipTaskData"},"type":{"default":"bulk_dip_task","example":"bulk_dip_task","type":"string"}},"required":["data"],"title":"CreateBulkDipTaskRequest","type":"object"},"UpdateUserData":{"description":"Request Data when update an existing user\n","properties":{"address":{"description":"User Address details, may differ from top-level details\n","properties":{"address1":{"type":"string"},"address2":{"type":"string"},"business_name":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"email":{"type":"string"},"fax_number":{"type":"string"},"first_name":{"type":"string"},"house_number":{"type":"string"},"last_name":{"type":"string"},"notes":{"type":"string"},"phone_number":{"type":"string"},"state":{"type":"string"},"zip_code":{"type":"string"}},"type":"object"},"email":{"description":"User's email\n","example":"john.doe@example.com","format":"email","type":"string"},"first_name":{"description":"User's first name\n","example":"John","type":"string"},"last_name":{"description":"User's last name\n","example":"Doe","type":"string"},"title":{"description":"User's job title, or position\n","example":"Operator","type":"string"}},"title":"UpdateUserData","type":"object"},"Request":{"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/RequestAddCampaignNumbersData"},{"$ref":"#/components/schemas/RequestAddMessagingNumbersData"},{"$ref":"#/components/schemas/RequestAddVoiceNumbersData"},{"$ref":"#/components/schemas/RequestNewNumbersData"},{"$ref":"#/components/schemas/RequestRegisterBrandData"},{"$ref":"#/components/schemas/RequestRegisterCampaignData"},{"$ref":"#/components/schemas/RequestRemoveCampaignNumbersData"},{"$ref":"#/components/schemas/RequestRemoveMessagingNumbersData"},{"$ref":"#/components/schemas/RequestRemoveNumbersData"},{"$ref":"#/components/schemas/RequestRemoveVoiceNumbersData"},{"$ref":"#/components/schemas/RequestUnregisterBrandData"},{"$ref":"#/components/schemas/RequestUnregisterCampaignData"},{"$ref":"#/components/schemas/RequestVetBrandData"}]},"description":"Specific action or operation that should take place","example":{"error_code":"OK","id":"01EH2Y28M6KXG14QMPM3HSP1Y0","inserted_at":"2020-09-03T10:42:35.000000Z","name":"SMS Tollfree Numbers 2020-09-03","notes":"SMS Enablements","status":"NEW","type":"ADD_MESSAGING_NUMBERS","updated_at":"2020-09-03T10:42:35.000000Z"},"properties":{"error_code":{"$ref":"#/components/schemas/OrderErrorCode"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"example":"SMS Tollfree Numbers 2021-08-12","maxLength":255,"minLength":1,"type":"string"},"notes":{"example":"SMS Enablements","type":"string"},"status":{"$ref":"#/components/schemas/OrderStatus"},"type":{"$ref":"#/components/schemas/RequestType"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["name"],"title":"Request","type":"object"},"CspDcasResponse":{"description":"CSP DCAs","items":{"description":"DCA","properties":{"displayName":{"type":"string"},"id":{"type":"string"}},"type":"object"},"title":"CspDcasResponse","type":"array"},"SystemEventDataRequestCompletedDataRegisterCampaign":{"description":"Data for `REGISTER_CAMPAIGN` requests.\n","properties":{"brand_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"campaign_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"reseller_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"tcr_brand_id":{"example":"B123456","type":"string"},"tcr_campaign_id":{"example":"C123456","type":"string"},"tcr_reseller_id":{"example":"R123456","type":"string"}},"title":"SystemEventDataRequestCompletedDataRegisterCampaign","type":"object"},"RequestRemoveMessagingNumbersData":{"description":"Request for disabling messaging on existing numbers.","example":{"numbers":["12003004000"]},"properties":{"numbers":{"description":"A list of NANP 11-digit numbers to disable messaging for","items":{"example":"12003004000","type":"string"},"type":"array"}},"required":["numbers"],"title":"RequestRemoveMessagingNumbersData","type":"object"},"SystemEventDataDidComponentCreated":{"description":"`DID_COMPONENT_CREATED`\n","properties":{"component":{"$ref":"#/components/schemas/SystemEventDataDidComponent"},"did_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"number":{"description":"The 3 to 15 digit code of the number.\n","example":"12003004000","type":"string"},"reason":{"$ref":"#/components/schemas/SystemEventDataDidCreatedReason"},"request_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},"required":["component","reason","number","did_id"],"title":"SystemEventDataDidComponentCreated","type":"object"},"CartRequestAddVoiceNumbersData":{"description":"Request for enabling voice BYOC (Bring Your Own Carrier) numbers\n","properties":{"numbers":{"description":"A list of NANP 11-digit numbers to add","items":{"example":"12003004000","type":"string"},"type":"array"},"switch_id":{"description":"The ID of the switch that should be attached to the did for voice fallback","example":"9cdb55c0-6e15-4513-8430-4152fc8e07d3","format":"uuid","type":"string"}},"required":["numbers"],"title":"CartRequestAddVoiceNumbersData","type":"object"},"OptoutItem":{"description":"A record representing an opt-out for a host and remote number pair.\n\nOptouts may be manually added or may be triggered by the remote_number to stop receiving messages.\n","properties":{"host_number":{"description":"A reference to the host number that this optout belongs to.\n\nThat is the number that received the optout request.\n","example":"12003004000","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"keyword":{"description":"If the optout was triggered by the system, this field will be populated with the keyword\nused.\n\nWill be some variant of STOP normally.\n\nFor more information about keywords and their handling, contact support.\n","example":"STOP","type":"string"},"remote_number":{"description":"The client number that sent the optout, or is opted out of receiving messages from the\nhost number\n","example":"12003004001","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","host_number","remote_number"],"title":"OptoutItem","type":"object"},"SystemEvent":{"description":"Format of the Subscription Event webhook.\n","properties":{"associations":{"description":"Depending on the `type`, this field will contain additional associations of the parent record.\n\nFor example:\n\n* `ORDER_COMPLETED` - will include `requests`\n* `REQUEST_COMPLETED` - will include `provision_records`\n","properties":{"provision_records":{"items":{"$ref":"#/components/schemas/SystemEventAssociationProvisionRecord"},"type":"array"},"requests":{"items":{"$ref":"#/components/schemas/SystemEventAssociationRequest"},"type":"array"}},"type":"object"},"data":{"oneOf":[{"$ref":"#/components/schemas/SystemEventDataCspCampaignRegistered"},{"$ref":"#/components/schemas/SystemEventDataCspCampaignOptoutItemCreated"},{"$ref":"#/components/schemas/SystemEventDataCspCampaignOptoutItemDeleted"},{"$ref":"#/components/schemas/SystemEventDataDidCreated"},{"$ref":"#/components/schemas/SystemEventDataDidDeleted"},{"$ref":"#/components/schemas/SystemEventDataDidComponentCreated"},{"$ref":"#/components/schemas/SystemEventDataDidComponentDeleted"},{"$ref":"#/components/schemas/SystemEventDataDidOptoutItemCreated"},{"$ref":"#/components/schemas/SystemEventDataDidOptoutItemDeleted"},{"$ref":"#/components/schemas/SystemEventDataOsrOverwriteRequestPending"},{"$ref":"#/components/schemas/SystemEventDataOsrOverwriteRequestCompleted"},{"$ref":"#/components/schemas/SystemEventDataOrderCompleted"},{"$ref":"#/components/schemas/SystemEventDataRequestCompleted"}]},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"When was this event first created?\n","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"timestamp":{"description":"When was the event sent from the host system?\n","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"topic":{"$ref":"#/components/schemas/SystemEventTopic"},"type":{"$ref":"#/components/schemas/SystemEventType"}},"required":["id","timestamp","inserted_at","topic","type","data","associations"],"title":"SystemEvent","type":"object"},"SearchNumberInventoryResponse":{"description":"The response for a Number Inventory search request.\n\nNote that only a maximum of ten results can be returned at a time at for tollfree.\n","properties":{"data":{"$ref":"#/components/schemas/SearchNumberInventory"},"type":{"default":"number_inventory","example":"number_inventory","type":"string"}},"title":"SearchNumberInventoryResponse","type":"object"},"CDRSurcharge":{"description":"Represents a single surcharge in a CDR","properties":{"cost":{"example":"0.000100","format":"decimal","type":"string"},"name":{"example":"ACME Corp","type":"string"}},"title":"CDRSurcharge","type":"object"},"UpdateSwitchRequest":{"description":"Request for update an existing Switch","properties":{"data":{"$ref":"#/components/schemas/UpsertSwitchData"},"type":{"default":"switch","example":"switch","type":"string"}},"required":["data"],"title":"UpdateSwitchRequest","type":"object"},"CreateCartRequest":{"description":"Request for creating a new cart","properties":{"data":{"$ref":"#/components/schemas/CreateCartData"},"type":{"default":"cart","example":"cart","type":"string"}},"required":["data"],"title":"CreateCartRequest","type":"object"},"CartRequestRegisterBrandData":{"description":"Request for registering a new CSP Brand.\n","properties":{"address1":{"type":"string"},"alt_business_id":{"type":"string"},"alt_business_id_type":{"type":"string"},"brand_relationship":{"type":"string"},"business_contact_email":{"format":"email","type":"string"},"city":{"type":"string"},"company_name":{"example":"ACME Corp","type":"string"},"country_code":{"type":"string"},"display_name":{"example":"ACME Corp Brand","type":"string"},"ein":{"example":"00000000","type":"string"},"ein_issuing_country_code":{"example":"US","type":"string"},"email":{"format":"email","type":"string"},"entity_type":{"type":"string"},"first_name":{"example":"John","type":"string"},"last_name":{"example":"Doe","type":"string"},"phone_number":{"example":"12003004000","type":"string"},"state":{"type":"string"},"stock_exchange":{"type":"string"},"stock_symbol":{"type":"string"},"vertical":{"type":"string"},"website":{"type":"string"},"zip_code":{"type":"string"}},"required":["entity_type","brand_relationship","vertical"],"title":"CartRequestRegisterBrandData","type":"object"},"UpdateSecretKeyData":{"description":"Parameters for updating a Secret Key","properties":{"active":{"description":"Whether the Secret Key is active for use","example":false,"type":"boolean"},"name":{"description":"A display name for the Secret Key","type":"string"},"notes":{"description":"Any notes on the Secret Key","type":"string"}},"title":"UpdateSecretKeyData","type":"object"},"SystemEventDataDidComponentDeleted":{"description":"`DID_COMPONENT_DELETED`\n","properties":{"component":{"$ref":"#/components/schemas/SystemEventDataDidComponent"},"did_id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"number":{"description":"The 3 to 15 digit code of the number.\n","example":"12003004000","type":"string"},"reason":{"$ref":"#/components/schemas/SystemEventDataDidDeletedReason"},"request_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},"required":["component","reason","number","did_id"],"title":"SystemEventDataDidComponentDeleted","type":"object"},"UpdateMessageSetRequest":{"description":"Request for update an existing tts message set","properties":{"data":{"$ref":"#/components/schemas/UpsertMessageSetData"},"type":{"default":"tts_message_set","example":"tts_message_set","type":"string"}},"required":["data"],"title":"UpdateMessageSetRequest","type":"object"},"CDRLookupResultResponse":{"description":"Single cdr","properties":{"cdr":{"$ref":"#/components/schemas/CDRResponse"},"lookups":{"description":"Contains a copy of the CDR's dip result, note only API CDRs are supported","type":"array"}},"title":"CDRLookupResultResponse","type":"object"},"SharedResourceGroupsResponse":{"description":"Shared Resource Groups","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/SharedResourceGroupResponse"},"type":"array"}},"title":"SharedResourceGroupsResponse","type":"object"},"CSPCampaignOptoutItemResponse":{"description":"Single Optout Item","properties":{"associations":{"properties":{"csp_campaign":{"description":"A reference to the csp campaign that this optout belongs to.\n","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"tcr_campaign_id":{"description":"TCR Campaign ID, of the associated campaign.\n","example":"C012345","type":"string"}},"required":["id"],"type":"object"},"host_did":{"description":"A reference to the host number (did) that may have originated the optout.\n","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"number":{"description":"Will match the host_number from the optout item, may not be set under certain\ncircumstances.\n","example":"12003004000","type":"string"}},"required":["id"],"type":"object"},"sms":{"description":"If the optout was triggered by an SMS, this association will be set.\n\nOtherwise it will be null.\n\nNote that the SMS may be removed if outside the creation month.\n","properties":{"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},"required":["id"],"type":"object"}},"type":"object"},"data":{"$ref":"#/components/schemas/CSPCampaignOptoutItem"},"type":{"default":"number_optout_item","example":"number_optout_item","type":"string"}},"title":"CSPCampaignOptoutItemResponse","type":"object"},"UpdateRoleRequest":{"description":"Request for updating an existing Role.","properties":{"data":{"$ref":"#/components/schemas/UpdateRoleData"},"type":{"default":"role","example":"role","type":"string"}},"required":["data"],"title":"UpdateRoleRequest","type":"object"},"ReviewOverwriteRequestRequest":{"description":"Request for reviewing an Overwrite Request","properties":{"data":{"$ref":"#/components/schemas/ReviewOverwriteRequestData"},"type":{"default":"osr_overwrite_request","example":"osr_overwrite_request","type":"string"}},"required":["data"],"title":"ReviewOverwriteRequestRequest","type":"object"},"CDRFee":{"description":"Represents a single fee in a CDR","properties":{"cost":{"example":"0.000100","format":"decimal","type":"string"},"name":{"example":"extra_cheese","type":"string"}},"title":"CDRFee","type":"object"},"RequestRemoveNumbersData":{"description":"Request data for removing existing numbers regardless of components.\n\nThis request can handle the removal of all components safely.\n","example":{"numbers":["12003004000"]},"properties":{"numbers":{"description":"A list of NANP 11-digit numbers to remove","items":{"example":"12003004000","type":"string"},"type":"array"}},"required":["numbers"],"title":"RequestRemoveNumbersData","type":"object"},"CspCampaignSharingConflictErrorsResponse":{"description":"Errors Response when a sharing conflict is present","properties":{"errors":{"description":"A list of errors from the request","items":{"$ref":"#/components/schemas/CspCampaignSharingConflictErrorsObject"},"type":"array"}},"title":"CspCampaignSharingConflictErrorsResponse","type":"object"},"SystemEventAssociationRequest":{"properties":{"error_code":{"$ref":"#/components/schemas/OrderErrorCode"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"status":{"$ref":"#/components/schemas/OrderStatus"}},"title":"SystemEventAssociationRequest","type":"object"},"UpdateApiKeyRequest":{"description":"Request for update an existing API Key","properties":{"data":{"$ref":"#/components/schemas/UpdateApiKeyData"},"type":{"default":"api_key","example":"api_key","type":"string"}},"required":["data"],"title":"UpdateApiKeyRequest","type":"object"},"BulkDipTasksResponse":{"description":"Bulk Dip Tasks","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/BulkDipTaskResponse"},"type":"array"}},"title":"BulkDipTasksResponse","type":"object"},"RequestRemoveCampaignNumbersData":{"description":"Request for detaching numbers from their known campaign.","example":{"numbers":["12003004000"]},"properties":{"numbers":{"description":"A list of NANP 11-digit numbers to disable messaging for","items":{"example":"12003004000","type":"string"},"type":"array"}},"required":["numbers"],"title":"RequestRemoveCampaignNumbersData","type":"object"},"UpsertMessagingAutoResponseData":{"description":"Parameters for creating or updating a Messaging Auto Response","properties":{"keywords":{"description":"A list of keywords that the auto response has, keywords are stored in uppercase, but are case insensitive upon usage.\n","items":{"properties":{"intercept":{"default":false,"description":"Should the messaging system intercept (i.e. not forward to switch) the message?\n\nThis can be useful for cases where the keyword is to be handled by the messaging system, but the destination switch can't or does not wish to handle the message.\n","example":false,"type":"boolean"},"is_wildcard":{"default":false,"description":"Should this keyword be treated as a wildcard or fallback?\n\nOnly one wildcard can exist in a auto response, and will be returned for ALL messages that do not match any existing keywords.\n\nOnce is_wildcard is set, the keyword in question is also set to `WILDCARD`.\n\nNOTE: To update an existing WILDCARD, the keyword must also be passed (i.e. `WILDCARD`).\n","example":false,"type":"boolean"},"keyword":{"description":"The word to trigger this specific keyword.\n\nNote that when is_wildcard is true, keyword will always be `WILDCARD`.\n","example":"START","type":"string"},"message":{"description":"The primary message that should be sent as the reply.\n\nIn most scenarios this is the only message that needs to be set, however under the condition that a keyword is shared with the account's existing Keyword Plan (ask support for more information), the message may override it.\n","example":"You have been opted in to receive messages from ACME Corp.\n","type":"string"},"message2":{"description":"A secondary message which may be selected under certain circumstances.\n\nIf a keyword plan is active on the parent account, and the keyword has an OPTOUT or OPTIN behaviour, this message may be used.\n\nIn the case of an OPTIN action, this message will be used as the redundant action message (e.g. the subscriber has already opted in or already opted out of the messaging platform).\n","example":"You have already been opted-in to receive messages from ACME Corp, if you wish to unsubscribed please send STOP instead.\n","type":"string"}},"type":"object"},"type":"array"},"name":{"description":"Display name of the Auto Response\n","example":"My Auto Responder","type":"string"},"notes":{"description":"Any notes about the auto response\n","example":"This auto responder is used to notify messagers that the number is not available for SMS.\n","type":"string"}},"required":["name","keywords"],"title":"UpsertMessagingAutoResponseData","type":"object"},"CspUsecasesResponse":{"additionalProperties":{"$ref":"#/components/schemas/CspUsecase"},"description":"CSP Usecases","title":"CspUsecasesResponse","type":"object"},"BulkDipTask":{"description":"A Bulk Dip Task is a long-running asynchronous request, numbers are specified in the request and\nwill be dipped by the system internally, once completed, the result will be handled via\nthe on_done_actions.\n\nNote that it is possible to create a Bulk Dip Task without an `on_done_action`, this will\neffectively perform a no-op, you will still be charged for the dips, but nothing will be\ndelivered.\n","properties":{"done_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"enable_cdr_export":{"default":false,"description":"Should CDRs generated by the bulk dip process be sent to the CDR Webhook?\n\nBy default this is disabled.\n\nNote. This will generate CDRs while the task is processing.\n","type":"boolean"},"enhanced":{"default":false,"description":"Used for LRN type, enables enhanced lookup.\n\nPlease consult the LRN documentation for additional details.\n","example":false,"type":"boolean"},"error_code":{"default":"OK","description":"* `OK` - there was no error\n* `BAD_SOURCE_FILE` - there was an issue with the source file\n","enum":["OK","BAD_SOURCE_FILE"],"example":"BAD_SOURCE_FILE","type":"string"},"format":{"default":"CSV","description":"The intended exported format, CSV will export a CSV file as expected.\nMLJSON exports the cdrs as Multiline-JSON, that is each row in the file is a single record encoded as JSON.\n\n* `CSV`\n* `MLJSON`\n","enum":["CSV","MLJSON"],"example":"CSV","type":"string"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"messaging_lookup":{"default":false,"description":"Used for LRN type, enables messaging lookup, MCL will be added.\n\nPlease consult the LRN documentation for additional details.\n","example":false,"type":"boolean"},"numbers":{"description":"Numbers to lookup","items":{"description":"A number to lookup","example":"12003004000","format":"tel","type":"string"},"maxItems":20000,"minItems":0,"type":"array"},"on_done_actions":{"$ref":"#/components/schemas/OnDoneActions"},"reference_id":{"description":"A unique client provided id for the bulk task.\n\nThere is no particular format that is enforced, a general recommendation is to avoid\nspaces and non-ASCII characters for best experience.\n","example":"lrn-bulk-LRN-2022-10-14","maxLength":255,"minLength":1,"type":"string"},"status":{"default":"NEW","description":"Status gives a brief overview of the state of the task.\n\n* `NEW` - the export task was freshly created and has not begun processing\n* `SCHEDULED` - the task has been scheduled to execute at a later time (see date field for more information)\n* `PROCESSING` - the task has begun processing\n* `STORING` - the task is currently storing its results on internal storage for later access\n* `DELIVERING` - the task is now attempting to deliver the exported file to the given endpoints (or notifying)\n* `COMPLETED` - the task is completed and it is safe to delete or retrieve the exported details\n* `ABORTED` - the task was aborted, execution was halted\n* `ERROR` - the task experienced an error, error_code will have more details if any\n","enum":["NEW","SCHEDULED","PROCESSING","STORING","DELIVERING","COMPLETED","ABORTED","ERROR"],"example":"NEW","type":"string"},"type":{"description":"The type of bulk dip that should be performed:\n\n* `LRN` - Location Routing Number lookups\n* `MCL` - Messaging Carrier Lookup\n* `CNAM` - Caller Name\n","enum":["LRN","MCL","CNAM"],"type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","reference_id","type","format","status","error_code"],"title":"BulkDipTask","type":"object"},"DestinationResponse":{"description":"Single Number Destination","properties":{"associations":{"properties":{"did":{"properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"type":"object"},"tts_message_set":{"properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"type":"object"}},"type":"object"},"data":{"$ref":"#/components/schemas/Destination"},"type":{"default":"number_destination","example":"number_destination","type":"string"}},"title":"DestinationResponse","type":"object"},"CreateCartRequestRequest":{"description":"Request for creating a new Request under a Cart","properties":{"data":{"$ref":"#/components/schemas/CreateCartRequestData"},"type":{"default":"request","example":"request","type":"string"}},"required":["data"],"title":"CreateCartRequestRequest","type":"object"},"PermissionErrorObject":{"description":"An object representing a single permission error, may contain a source if the error was from a field.","properties":{"code":{"description":"Contains static error code representing the error\n","enum":["access_denied.no_scope","access_denied.insufficient_level","access_denied.resource_unavailable","access_denied.action_disabled","access_denied.action_unavailable"],"example":"access_denied.no_scope","type":"string"},"detail":{"description":"Contains dynamic description of the error","example":"No scope available to user role","type":"string"},"params":{"description":"Contains additional parameters based on the permission error","properties":{"action":{"example":"index","type":"string"},"level":{"enum":["guest","client","admin"],"example":"guest","type":"string"},"resource":{"example":"resource","type":"string"}},"type":"object"},"sub_code":{"description":"Some codes may have sub codes that further describe an error.\n","example":"none","type":"string"},"title":{"description":"A user friendly title for the error.","example":"Access Denied, no scope available","type":"string"}},"required":["title","detail","code"],"title":"PermissionErrorObject","type":"object"},"CSPCampaignOptoutItemsResponse":{"description":"CSP Campaign Optout Items","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/CSPCampaignOptoutItemResponse"},"type":"array"}},"title":"CSPCampaignOptoutItemsResponse","type":"object"},"CartsResponse":{"description":"Carts","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/CartResponse"},"type":"array"}},"title":"CartsResponse","type":"object"},"EventSubscriptionsResponse":{"description":"Event Subscriptions","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/EventSubscriptionResponse"},"type":"array"}},"title":"EventSubscriptionsResponse","type":"object"},"SystemEventTopic":{"description":"The overall topic that the event belongs to.\n","enum":["NONE","DID","CSP_BRAND","CSP_CAMPAIGN","ORDER","REQUEST","OSR"],"title":"SystemEventTopic","type":"string"},"UpdateDestinationRequest":{"description":"Request for updating an existing Number Destination","properties":{"data":{"$ref":"#/components/schemas/UpsertDestinationData"},"type":{"default":"number_destination","example":"number_destination","type":"string"}},"required":["data"],"title":"UpdateDestinationRequest","type":"object"},"CreateOnDoneAction":{"properties":{"archive_format":{"default":"NONE","description":"Sometimes it is desirable to send the exported file in some kind of archive or\ncompressed format.\n\nThis field can be set to configure that.\n\nOtherwise the file will be returned in its raw form.\n\n* `NONE` - no archive format, returns the file as-is (default)\n* `TAR` - send the exported file in a tarball\n* `TAR_GZ` - send the exported file in a gzipped tarball\n* `ZIP` - send the exported file in a zipfile\n","enum":["NONE","TAR","TAR_GZ","ZIP"],"example":"TAR_GZ","type":"string"},"auth_identity":{"description":"See `auth_method` for details\n","example":"upload-user","type":"string"},"auth_method":{"default":"NONE","description":"Working with the `auth_identity` and `auth_secret` fields, this forms the authorization\ndetails for the HTTP and SFTP uploaders.\n\n* `NONE` - no authorization required\n  `HTTP` protocol will not send an Authorization header\n  `SFTP` protocol will default to username \"tychron\", and password \"tychron\" for its details\n* `BASIC` - use \"Basic\" authorization, or a username + password pairing\n  `auth_identity` will be the username\n  `auth_secret` will be the password\n* `BEARER` - use a \"Bearer\" authorization, that is, just the secret\n  `HTTP` protocol will send a `Authorization: Bearer <auth_secret>` header\n  `SFTP` will default its username to \"tychron\" and set the password as the `auth_secret`\n","enum":["NONE","BASIC","BEARER"],"example":"BASIC","type":"string"},"auth_secret":{"description":"See `auth_method` for details\n","example":"supersecretsauce","type":"string"},"data":{"description":"Depending on the protocol used, this can be a url, or mailing address.\n\n* `NONE` - empty\n* `HTTP` - Must be a valid HTTP url, query parameters will be passed in as is\n* `SFTP` - Must be of form:\n\n  `sftp://hostname:port/subpath`\n\n  __Example 1__:\n\n  Using default ssh port `22` and write the exported file under the given subpath.\n  NOTE. the subpath MUST be created for the upload to complete no attempts will be made to\n  create any new directories by sftp uploader.\n\n  `sftp://example.com/sub/path/to/store/exported_file/in`\n\n  __Example 2__:\n\n  Use the explictly set port `22` and write the exported file to wherever the client\n  logged in.\n\n  `sftp://example.com:22`\n","example":"sftp://example.com:22/sub/path/to/store/exported_file/in","type":"string"},"filename":{"description":"Optional override for SFTP filename.\n\nNote. you are responsible for the extensions as well for any archive format it may have.\n","type":"string"},"protocol":{"default":"NONE","description":"The specific transport protocol to use to delivery notifications or the exported file.\n\n* `NONE` - use nothing\n* `HTTP` - send notifications or files over HTTP\n* `SFTP` - send exported files over SFTP\n","enum":["NONE","HTTP","SFTP"],"example":"SFTP","type":"string"},"reference_id":{"description":"Optional client provided id to identify the action.\n","example":"SFTP-export-action","maxLength":255,"minLength":0,"type":"string"},"type":{"default":"NONE","description":"What kind of action will this be?\n\n* `NONE` - do nothing\n* `NOTIFY` - notify the specified endpoint that the export has completed (only works with HTTP currently)\n* `SEND` - send the exported file to the specified endpoint (HTTP or SFTP)\n","enum":["NONE","NOTIFY","SEND"],"example":"SEND","type":"string"}},"required":["type","protocol","auth_method","archive_format"],"title":"CreateOnDoneAction","type":"object"},"RequestResponse":{"description":"Single request","properties":{"data":{"$ref":"#/components/schemas/Request"},"type":{"default":"request","example":"request","type":"string"}},"title":"RequestResponse","type":"object"},"UpdateCallDataWebhookData":{"description":"Parameters for creating a new Call Data Webhook.\n","properties":{"auth_identity":{"description":"Acts a the username in an authorization pair, only applicable if the auth method is `BASIC`.\n","type":"string"},"auth_method":{"default":"NONE","description":"Depending on the protocol, this will affect the authorization behaviour.\n\n* `NONE` - no authorization is provided if not required, otherwise placeholder values will be used\n* `BASIC` - the `auth_identity` acts as the username while the `auth_secret` acts as the password\n  * With `HTTP` - an `Authorization: Basic <BASE64-VALUE>` header will be set\n  * With `SFTP` - the session will be authenticated using the `auth_identity` and `auth_secret`\n* `BEARER` - the `auth_identity` is ignored and only the `auth_secret` is used verbatim\n  * With `HTTP` - an `Authorization: Bearer <VALUE>` header will be set\n  * with `SFTP` - the username will be a placeholder value and the password will be set\n","enum":["NONE","BASIC","BEARER"],"type":"string"},"auth_name":{"description":"Reserved for other protocols that may require additional auth information.\n","type":"string"},"auth_secret":{"description":"Acts as the password in an authorization pair, if using `BEARER`, it will be the verbatim token.\n","type":"string"},"custom_headers":{"description":"A list of custom header values that should be sent on the `HTTP` request.\n\nHeaders are currently unused if the protocol is not `HTTP`.\n","items":{"properties":{"key":{"example":"x-my-header","type":"string"},"value":{"example":"Anything","type":"string"}},"type":"object"},"type":"array"},"custom_query_params":{"description":"A list of custom query parameters that should be sent on the `HTTP` request.\n\nThese are currently unused if the protocol is not `HTTP`.\n","items":{"properties":{"key":{"example":"x-my-header","type":"string"},"value":{"example":"Anything","type":"string"}},"type":"object"},"type":"array"},"data":{"description":"Depending on the protocol, this will contain the url or address of the endpoint.\n\nFor HTTP, it will be an http url, as for SFTP, it will be the hostname and optionally the port.\n\n* `HTTP` - (e.g. \"http://example.com/path/to/upload\")\n* `SFTP` - (e.g. \"sftp://sftp.example.com/path/to/upload\")\n","type":"string"},"name":{"description":"A display name for the call data webhook, used purely for identifying it.\n","example":"CDR Webhook us-east","maxLength":255,"minLength":1,"type":"string"},"notes":{"description":"Any notes or details about the call data webhook.\n","maxLength":65535,"minLength":0,"type":"string"},"protocol":{"default":"NONE","description":"The transport protocol which should be used to send\n\n* `NONE` - Effectively a no-op.\n* `HTTP` - Send CDRs over HTTP.\n* `SFTP` - Upload CDRs over SFTP.\n","enum":["NONE","HTTP","SFTP"],"type":"string"}},"title":"UpdateCallDataWebhookData","type":"object"},"CreateApiKeyResponse":{"description":"Newly created API Key","properties":{"data":{"$ref":"#/components/schemas/CreatedApiKey"},"type":{"default":"api_key","example":"api_key","type":"string"}},"title":"CreateApiKeyResponse","type":"object"},"NumberResponse":{"description":"Single number","properties":{"associations":{"properties":{"campaign":{"properties":{"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"tcr_brand_id":{"description":"The brand the campaign is attached to","example":"B000000","type":"string"},"tcr_campaign_id":{"description":"The TCR issued campaign ID","example":"C000000","type":"string"}},"type":"object"},"messaging_switch":{"properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"type":"object"},"voice_switch":{"properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"type":"object"}},"type":"object"},"data":{"$ref":"#/components/schemas/Number"},"type":{"default":"number","example":"number","type":"string"}},"title":"NumberResponse","type":"object"},"OrderResponse":{"description":"Single order","properties":{"data":{"$ref":"#/components/schemas/Order"},"type":{"default":"order","example":"order","type":"string"}},"title":"OrderResponse","type":"object"},"UpdateUserRequest":{"description":"Request for updating an existing User","properties":{"data":{"$ref":"#/components/schemas/UpdateUserData"},"type":{"default":"user","example":"user","type":"string"}},"required":["data"],"title":"UpdateUserRequest","type":"object"},"RequestAddVoiceNumbersData":{"description":"Request for Voice BYOC (Bring Your Own Carrier) Numbers","example":{"numbers":["12003004000"],"switch_id":"9cdb55c0-6e15-4513-8430-4152fc8e07d3"},"properties":{"numbers":{"description":"A list of NANP 11-digit numbers to add","items":{"example":"12003004000","type":"string"},"type":"array"},"switch_id":{"description":"The ID of the switch that should be attached to the did for voice fallback","example":"9cdb55c0-6e15-4513-8430-4152fc8e07d3","format":"uuid","type":"string"}},"required":["numbers"],"title":"RequestAddVoiceNumbersData","type":"object"},"RoleResponse":{"description":"Response when retrieving role information.","properties":{"data":{"$ref":"#/components/schemas/Role"},"type":{"default":"role","example":"role","type":"string"}},"required":["data","type"],"title":"RoleResponse","type":"object"},"UpdateOrderData":{"description":"Parameters for updating an Order","properties":{"name":{"description":"Display name for Order.\n","example":"Add Messaging to 10 Numbers","maxLength":255,"minLength":3,"type":"string"},"notes":{"description":"Any additional text about the order, useful for informing someone about the order's purpose.\n","example":"Order for Client XYZ\n","maxLength":65535,"minLength":0,"type":"string"}},"title":"UpdateOrderData","type":"object"},"OrderStatus":{"description":"An overall status of a respective order or request.\n\nThe status will be a summary of an order's requests, or just the status of the request itself.\n\n* `NEW` - the order has not yet been accepted by the ordering system for processing.\n* `MANUAL` - the order requires manual intervention, typically from a support personel.\n* `AUTHOR_MANUAL` - the order requires manual intervention, specifically from the author.\n* `COMPLETED` - the order has been completed without errors (i.e. all requests are `COMPLETED`).\n* `COMPLETED_WITH_ERRORS` - the order has been completed, but some requests may have errors.\n* `PROCESSING` - the order is being processed.\n* `PENDING` - similar to processing, but only applies when an order is delayed.\n* `ERROR` - the order has completely failed and all requests have failed.\n* `REJECTED` - the order was rejected and was not processed.\n* `CANCELLED` - the order has been cancelled, typically by a support personel.\n* `EXPIRED` - the order or its requests have all expired.\n* `CRON` - the order has been scheduled to process at a later time.\n* `CART` - the order is a cart.\n* `REVIEW` - the order or cart is pending review from an operations personel.\n","enum":["NEW","MANUAL","AUTHOR_MANUAL","COMPLETED","COMPLETED_WITH_ERRORS","PROCESSING","PENDING","ERROR","REJECTED","CANCELLED","EXPIRED","CRON","CART","REVIEW"],"example":"NEW","title":"OrderStatus","type":"string"},"UpsertSwitchData":{"description":"Parameters for creating or updating a switch","properties":{"mms_auth_method":{"description":"Various authorization methods supported.\n\nNote that bearer and hmac_sha256 will not be used for MM4, only basic is supported.\n\nHTTP supports all available methods.\n\n* `NONE` - No authorization header is added to the request\n* `BASIC` - Uses the `mms_identity` as the username and `mms_secret` as the password to form the Basic pair\n* `BEARER` - Uses ONLY the `mms_secret` as the token\n* `HMAC_SHA256` - Consult the Signing Hash section for details, the signature will be placed into the authorization header with a scheme TYCHRON0-HMAC-SHA256 and Base16 encoded (lowercase).\n","enum":["NONE","BASIC","BEARER","HMAC_SHA256"],"type":"string"},"mms_data":{"description":"Depending on the mms_protocol, the value is of a different format:\n\n* `NONE` - ignored\n* `MM4` - Must be a valid URL, without a path component with schemes: mm4, mm4+s or mm4s for non-tls, optional-tls and mandatory tls respectively.\n* `HTTP` - Must be a valid URL, scheme may be http, or https, paths and query parameters are supported.\n* `SFTP` - Must be a valid URL, scheme MUST be sftp, path component is used to change directory if supplied.\n* `FORWARD` - Must be a valid E164 address (can omit plus if needed), messages will be forwarded to the respective number as a new OUTBOUND message (charges apply).\n* `TYCHRON_CHAT` - Set to UNUSED.\n","example":"mm4://example.com:2525","format":"url","type":"string"},"mms_enabled":{"description":"Enable inbound MMS routing?","example":true,"type":"boolean"},"mms_identity":{"description":"Acts as the username in basic auth","example":"johndoe","type":"string"},"mms_message_format":{"description":"All supported message formats for MMS HTTP Protocol.\n","enum":["OXY_JSON_1_0","OXY_JSONAPI_1_0","OXY_XML_1_0","OXY_MULTIPART_1_0","OXY_MULTIPART_2_0","OXY_RFC822_1_0"],"type":"string"},"mms_name":{"description":"Only used for MM4, used as the display name for auth","example":"John Doe","type":"string"},"mms_options":{"description":"Contains various miscelleanous or experimental feature flags for MMS.\n","properties":{"dlr_on_sent":{"default":false,"description":"Experimental: Whenever a message is sent to the configured endpoint,\na dlr will automatically be generated and sent back to the sender.\n","example":false,"type":"boolean"},"forward_dlr":{"default":true,"description":"Normally a switch will always attempt to deliver DLRs the same as regular messages.\n\nThis flag can be set to stop the delivery of DLRs.\n","example":true,"type":"boolean"},"pad_shortcodes":{"default":false,"description":"Experimental: If your endpoint requires 11 or more digits for numbers, this field can\nbe enabled to pad shortcodes with leading zeroes to make them 11 digit where possible.\n","example":false,"type":"boolean"}},"type":"object"},"mms_protocol":{"description":"All protocols supported for MMS delivery.\n\n* `NONE` - Will discard any inbound messages destined for the switch.\n* `MM4` - Delivers messages over MM4 to the configured enpoint in `mms_data`, use mm4s as the scheme to require TLS, or mm4+s for optional TLS.\n* `HTTP` - Delivers messages over HTTP (or HTTPS, if the scheme is set to https in the `mms_data`).\n* `SFTP` - Uploads the MMS to a SFTP server.\n* `FORWARD` - Forwards the INBOUND MMS to another number as a new OUTBOUND message.\n* `TYCHRON_CHAT` - Forwards the MMS to Tychron's chat service.\n","enum":["NONE","MM4","HTTP","SFTP","FORWARD","TYCHRON_CHAT"],"type":"string"},"mms_secret":{"description":"Depending on the `auth_method`, this fields usage changes:\n\n* `NONE` - unsued\n* `BASIC` - Acts as the `password` component of the Authorization Basic pair.\n* `BEARER` - Acts as the token\n* `HMAC_SHA256` - Used as-is for signature generation, prefer using the dedicated signing keys instead for newer switches.\n","example":"super$ecret","type":"string"},"name":{"description":"A display name to easily identify the switch","example":"Primary Messaging Switch","type":"string"},"notes":{"description":"Any notes about the switch","example":"CA Switch for Data-Center #3, do not DELETE AGAIN.","type":"string"},"sms_auth_method":{"description":"Various authorization methods supported by the SMS HTTP Protocol.\n\nSMPP utilizes an API Key for it's authorization instead.\n\n* `NONE` - No authorization header is added to the request\n* `BASIC` - Uses the `sms_identity` as the username and `sms_secret` as the password to form the Basic pair\n* `BEARER` - Uses ONLY the `sms_secret` as the token\n* `HMAC_SHA256` - Consult the Signing Hash section for details, the signature will be placed into the authorization header with a scheme TYCHRON0-HMAC-SHA256 and Base16 encoded (lowercase).\n","enum":["NONE","BASIC","BEARER","HMAC_SHA256"],"type":"string"},"sms_data":{"description":"Depending on the SMS Protocol in use, the requirement of this field will change:\n\n* `NONE` - ignored\n* `SMPP` - ignored\n* `HTTP` - Must be a valid URL, scheme may be http, or https, paths and query parameters are supported.\n* `FORWARD` - Must be a valid E164 address (can omit plus if needed), messages will be forwarded to the respective number as a new OUTBOUND message (charges apply).\n* `TYCHRON_CHAT` - Set as UNUSUED.\n","example":"https://example.com","type":"string"},"sms_enabled":{"description":"Enable inbound SMS routing?","example":true,"type":"boolean"},"sms_identity":{"description":"Acts as the username in basic auth","example":"johndoe","type":"string"},"sms_message_format":{"description":"All supported message formats for SMS HTTP Protocol\n","enum":["TRINITY_JSON_1_0","TRINITY_POST_1_0","TRINITY_POST_2_0"],"type":"string"},"sms_name":{"description":"Reserved for future use","example":"John Doe","type":"string"},"sms_options":{"description":"Contains various miscelleanous or experimental feature flags for SMS.\n","properties":{"dlr_on_sent":{"default":false,"description":"Experimental: Whenever a message is sent to the configured endpoint,\na dlr will automatically be generated and sent back to the sender.\n","example":false,"type":"boolean"},"forward_dlr":{"default":true,"description":"Normally a switch will always attempt to deliver DLRs the same as regular messages.\n\nThis flag can be set to stop the delivery of DLRs.\n","example":true,"type":"boolean"},"pad_shortcodes":{"default":false,"description":"Experimental: If your endpoint requires 11 or more digits for numbers, this field can\nbe enabled to pad shortcodes with leading zeroes to make them 11 digit where possible.\n","example":false,"type":"boolean"}},"type":"object"},"sms_protocol":{"description":"All protocols supported for SMS delivery, note that none will effectively no-op all incoming messages.\n\n* `NONE` - No protocol, this will discard any inbound messages destined for the host number associated with the switch\n* `HTTP` - Uses HTTP (supports HTTPS if the sms_data includes the respective scheme, e.g. `https://example.com`)\n* `SMPP` - The switch is configured to use SMPP, note. the switch MUST have an attached API Key to determine the destination, as API Keys contain the SMPP System ID.\n* `FORWARD` - Forwards any incoming messages to the switch to another number configured as `sms_data`.\n* `TYCHRON_CHAT` - Forwards any incoming messages to Tychron's chat service.\n","enum":["NONE","SMPP","HTTP","FORWARD","TYCHRON_CHAT"],"type":"string"},"sms_secret":{"description":"Depending on the `auth_method`, this fields usage changes:\n\n* `NONE` - unsued\n* `BASIC` - Acts as the `password` component of the Authorization Basic pair.\n* `BEARER` - Acts as the token\n* `HMAC_SHA256` - Used as-is for signature generation, prefer using the dedicated signing keys instead for newer switches.\n","example":"super$ecret","type":"string"},"voice_auth_method":{"description":"Various authorization methods supported.\n\nPrimarily used with HTTP ROUTE\n","enum":["NONE","BASIC","BEARER"],"type":"string"},"voice_data":{"description":"Contains the routing url specific to the requested protocol","example":"12003004000@example.com","type":"string"},"voice_enabled":{"default":false,"description":"Enable voice call fallback routing?","example":false,"type":"boolean"},"voice_identity":{"example":"johndoe","type":"string"},"voice_name":{"example":"John Doe","type":"string"},"voice_protocol":{"description":"All protocols supported for fallback VoIP destination.\n","enum":["NONE","VOIP","PSTN","TTS","TTS_CUSTOM","HTTP_ROUTE"],"type":"string"},"voice_secret":{"example":"super$ecret","type":"string"}},"title":"UpsertSwitchData","type":"object"},"OptoutItemResponse":{"description":"Single Optout Item","properties":{"associations":{"properties":{"host_did":{"description":"A reference to the host number (did) that this optout belongs to.\n","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"number":{"description":"Will match the host_number from the optout item, may not be set under certain\ncircumstances.\n","example":"12003004000","type":"string"}},"required":["id"],"type":"object"},"sms":{"description":"If the optout was triggered by an SMS, this association will be set.\n\nOtherwise it will be null.\n\nNote that the SMS may be removed if outside the creation month.\n","properties":{"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},"required":["id"],"type":"object"}},"type":"object"},"data":{"$ref":"#/components/schemas/OptoutItem"},"type":{"default":"number_optout_item","example":"number_optout_item","type":"string"}},"title":"OptoutItemResponse","type":"object"},"OverwriteRequestResponse":{"description":"Single Overwrite Request","properties":{"associations":{"properties":{"did":{"description":"The DID associated with this overwrite, note that the number may not\nbe present if the DID was removed.\n\nAs a rule of thumb, if a request has been approved, the ID should not be trusted.\n","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"number":{"example":"12003004000","type":"string"}},"type":"object"},"new_nnid_entry":{"properties":{"service_provider":{"description":"Name of the new service provider","example":"ACME Corp","type":"string"}},"type":"object"},"reviewed_user":{"description":"A limited scope of who reviewed the request (approved/rejected).\n\nNote that an administrator can also approve requests.\n","properties":{"first_name":{"example":"John","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"last_name":{"example":"Doe","type":"string"}},"type":"object"}},"type":"object"},"data":{"$ref":"#/components/schemas/OverwriteRequest"},"type":{"default":"osr_overwrite_request","example":"osr_overwrite_request","type":"string"}},"required":["type","data","associations"],"title":"OverwriteRequestResponse","type":"object"},"CreateCartRequestData":{"additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/CartRequestAddCampaignNumbersData"},{"$ref":"#/components/schemas/CartRequestAddMessagingNumbersData"},{"$ref":"#/components/schemas/CartRequestAddVoiceNumbersData"},{"$ref":"#/components/schemas/CartRequestNewNumbersData"},{"$ref":"#/components/schemas/CartRequestRegisterBrandData"},{"$ref":"#/components/schemas/CartRequestRegisterCampaignData"},{"$ref":"#/components/schemas/CartRequestRemoveCampaignNumbersData"},{"$ref":"#/components/schemas/CartRequestRemoveMessagingNumbersData"},{"$ref":"#/components/schemas/CartRequestRemoveNumbersData"},{"$ref":"#/components/schemas/CartRequestRemoveVoiceNumbersData"},{"$ref":"#/components/schemas/CartRequestUnregisterBrandData"},{"$ref":"#/components/schemas/CartRequestUnregisterCampaignData"},{"$ref":"#/components/schemas/CartRequestVetBrandData"}]},"description":"Request for creating a new cart request","example":{"api_key_ids":["ca78c61f-b6ca-4ed5-91d5-1f3458e16258"],"mms_enabled":false,"name":"Add messaging for 12003004000","notes":"Some notes","numbers":["12003004000"],"switch_id":"9cdb55c0-6e15-4513-8430-4152fc8e07d3","type":"ADD_MESSAGING_NUMBERS"},"properties":{"name":{"example":"Add Messaging to 1200xxx numbers","type":"string"},"notes":{"example":"Some note about this request","type":"string"},"type":{"$ref":"#/components/schemas/RequestType"}},"required":["name","type"],"title":"CreateCartRequestData","type":"object"},"CreateRoleRequest":{"description":"Request for creating a new Role.","properties":{"data":{"$ref":"#/components/schemas/CreateRoleData"},"type":{"default":"role","example":"role","type":"string"}},"required":["data"],"title":"CreateRoleRequest","type":"object"},"SearchNumberInventory":{"description":"Search Number Inventory Response Data.\n\nDue to the nature of reservations using search inventory vs coverage is discouraged.\n\nIt is possible for clients to obtain the SAME response from searching specifically\nfor the number vs getting a coverage which is just the count of the parameters.\n","properties":{"count":{"description":"How many numbers total are available from the query.\n","example":10,"type":"integer"},"items":{"description":"An array of entries containing the numbers in the inventory.\n","items":{"properties":{"lata":{"example":"236","type":"string"},"number":{"example":"12022014000","format":"tel","type":"string"},"rate_center":{"example":"WSHNGTNZN1","type":"string"},"state":{"example":"DC","type":"string"},"type":{"enum":["TENDLC","TOLLFREE"],"type":"string"}},"required":["type","number","state","rate_center"],"type":"object"},"type":"array"}},"required":["items","count"],"title":"SearchNumberInventory","type":"object"},"NumberInventoryCoverageResponse":{"description":"The response body for an number inventory coverage request.\n\nThis reports only the count, or number of available codes or numbers based on the search parameters, broken down by the `count_by`.\n","properties":{"data":{"$ref":"#/components/schemas/NumberInventoryCoverage"},"type":{"default":"number_inventory","example":"number_inventory","type":"string"}},"title":"NumberInventoryCoverageResponse","type":"object"},"MessagesResponse":{"description":"Messages","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/MessageResponse"},"type":"array"}},"title":"MessagesResponse","type":"object"},"CartRequestVetBrandData":{"description":"Request for vetting a TCR Brand.\n\nEither the `brand_id` (UUID) or the `tcr_brand_id` can be provided to lookup the brand for\nvetting.\n","oneOf":[{"properties":{"tcr_brand_id":{"description":"TCR issued Brand ID","example":"B000000","type":"string"}},"required":["tcr_brand_id"],"type":"object"},{"properties":{"brand_id":{"description":"Internal UUID","example":"89900e23-aafc-4b03-954d-0b11d3948042","format":"uuid","type":"string"}},"required":["brand_id"],"type":"object"}],"properties":{"tcr_evp_id":{"description":"The External Vetting Provider that should perform the brand's vetting.\n","example":"AEGIS","type":"string"},"vetting_class":{"description":"Depending on the selected vetting provider, the available vetting classes may change.\n","example":"STANDARD","type":"string"}},"title":"CartRequestVetBrandData","type":"object"},"Switch":{"description":"Switches contain the routing information for dids","properties":{"notes":{"description":"Any notes about the switch","example":"CA Switch for Data-Center #3, do not DELETE AGAIN.","type":"string"},"sms_secret":{"description":"Depending on the `auth_method`, this fields usage changes:\n\n* `NONE` - unsued\n* `BASIC` - Acts as the `password` component of the Authorization Basic pair.\n* `BEARER` - Acts as the token\n* `HMAC_SHA256` - Used as-is for signature generation, prefer using the dedicated signing keys instead for newer switches.\n","example":"super$ecret","type":"string"},"mms_signing_scheme":{"$ref":"#/components/schemas/SwitchSigningScheme"},"voice_data":{"description":"Contains the routing url specific to the requested protocol","example":"12003004000@example.com","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"sms_data":{"description":"Depending on the SMS Protocol in use, the requirement of this field will change:\n\n* `NONE` - ignored\n* `SMPP` - ignored\n* `HTTP` - Must be a valid URL, scheme may be http, or https, paths and query parameters are supported.\n* `FORWARD` - Must be a valid E164 address (can omit plus if needed), messages will be forwarded to the respective number as a new OUTBOUND message (charges apply).\n* `TYCHRON_CHAT` - Set as UNUSUED.\n","example":"https://example.com","type":"string"},"sms_signing_scheme":{"$ref":"#/components/schemas/SwitchSigningScheme"},"voice_protocol":{"description":"All protocols supported for fallback VoIP destination.\n","enum":["NONE","VOIP","PSTN","TTS","TTS_CUSTOM","HTTP_ROUTE"],"type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"mms_options":{"description":"Contains various miscelleanous or experimental feature flags for MMS.\n","properties":{"dlr_on_sent":{"default":false,"description":"Experimental: Whenever a message is sent to the configured endpoint,\na dlr will automatically be generated and sent back to the sender.\n","example":false,"type":"boolean"},"forward_dlr":{"default":true,"description":"Normally a switch will always attempt to deliver DLRs the same as regular messages.\n\nThis flag can be set to stop the delivery of DLRs.\n","example":true,"type":"boolean"},"pad_shortcodes":{"default":false,"description":"Experimental: If your endpoint requires 11 or more digits for numbers, this field can\nbe enabled to pad shortcodes with leading zeroes to make them 11 digit where possible.\n","example":false,"type":"boolean"}},"type":"object"},"sms_message_format":{"description":"All supported message formats for SMS HTTP Protocol\n","enum":["TRINITY_JSON_1_0","TRINITY_POST_1_0","TRINITY_POST_2_0"],"type":"string"},"mms_message_format":{"description":"All supported message formats for MMS HTTP Protocol.\n","enum":["OXY_JSON_1_0","OXY_JSONAPI_1_0","OXY_XML_1_0","OXY_MULTIPART_1_0","OXY_MULTIPART_2_0","OXY_RFC822_1_0"],"type":"string"},"voice_auth_method":{"description":"Various authorization methods supported.\n\nPrimarily used with HTTP ROUTE\n","enum":["NONE","BASIC","BEARER"],"type":"string"},"mms_enabled":{"description":"Enable inbound MMS routing?","example":true,"type":"boolean"},"name":{"description":"A display name to easily identify the switch","example":"Primary Messaging Switch","type":"string"},"sms_auth_method":{"description":"Various authorization methods supported by the SMS HTTP Protocol.\n\nSMPP utilizes an API Key for it's authorization instead.\n\n* `NONE` - No authorization header is added to the request\n* `BASIC` - Uses the `sms_identity` as the username and `sms_secret` as the password to form the Basic pair\n* `BEARER` - Uses ONLY the `sms_secret` as the token\n* `HMAC_SHA256` - Consult the Signing Hash section for details, the signature will be placed into the authorization header with a scheme TYCHRON0-HMAC-SHA256 and Base16 encoded (lowercase).\n","enum":["NONE","BASIC","BEARER","HMAC_SHA256"],"type":"string"},"mms_secret":{"description":"Depending on the `auth_method`, this fields usage changes:\n\n* `NONE` - unsued\n* `BASIC` - Acts as the `password` component of the Authorization Basic pair.\n* `BEARER` - Acts as the token\n* `HMAC_SHA256` - Used as-is for signature generation, prefer using the dedicated signing keys instead for newer switches.\n","example":"super$ecret","type":"string"},"mms_identity":{"description":"Acts as the username in basic auth","example":"johndoe","type":"string"},"sms_enabled":{"description":"Enable inbound SMS routing?","example":true,"type":"boolean"},"mms_encryption_method":{"$ref":"#/components/schemas/SwitchEncryptionMethod"},"voice_enabled":{"default":false,"description":"Enable voice call fallback routing?","example":false,"type":"boolean"},"sms_signing_hash":{"$ref":"#/components/schemas/SwitchSigningHash"},"sms_encryption_method":{"$ref":"#/components/schemas/SwitchEncryptionMethod"},"voice_identity":{"example":"johndoe","type":"string"},"mms_name":{"description":"Only used for MM4, used as the display name for auth","example":"John Doe","type":"string"},"mms_auth_method":{"description":"Various authorization methods supported.\n\nNote that bearer and hmac_sha256 will not be used for MM4, only basic is supported.\n\nHTTP supports all available methods.\n\n* `NONE` - No authorization header is added to the request\n* `BASIC` - Uses the `mms_identity` as the username and `mms_secret` as the password to form the Basic pair\n* `BEARER` - Uses ONLY the `mms_secret` as the token\n* `HMAC_SHA256` - Consult the Signing Hash section for details, the signature will be placed into the authorization header with a scheme TYCHRON0-HMAC-SHA256 and Base16 encoded (lowercase).\n","enum":["NONE","BASIC","BEARER","HMAC_SHA256"],"type":"string"},"mms_protocol":{"description":"All protocols supported for MMS delivery.\n\n* `NONE` - Will discard any inbound messages destined for the switch.\n* `MM4` - Delivers messages over MM4 to the configured enpoint in `mms_data`, use mm4s as the scheme to require TLS, or mm4+s for optional TLS.\n* `HTTP` - Delivers messages over HTTP (or HTTPS, if the scheme is set to https in the `mms_data`).\n* `SFTP` - Uploads the MMS to a SFTP server.\n* `FORWARD` - Forwards the INBOUND MMS to another number as a new OUTBOUND message.\n* `TYCHRON_CHAT` - Forwards the MMS to Tychron's chat service.\n","enum":["NONE","MM4","HTTP","SFTP","FORWARD","TYCHRON_CHAT"],"type":"string"},"voice_name":{"example":"John Doe","type":"string"},"voice_secret":{"example":"super$ecret","type":"string"},"sms_name":{"description":"Reserved for future use","example":"John Doe","type":"string"},"mms_signing_hash":{"$ref":"#/components/schemas/SwitchSigningHash"},"mms_data":{"description":"Depending on the mms_protocol, the value is of a different format:\n\n* `NONE` - ignored\n* `MM4` - Must be a valid URL, without a path component with schemes: mm4, mm4+s or mm4s for non-tls, optional-tls and mandatory tls respectively.\n* `HTTP` - Must be a valid URL, scheme may be http, or https, paths and query parameters are supported.\n* `SFTP` - Must be a valid URL, scheme MUST be sftp, path component is used to change directory if supplied.\n* `FORWARD` - Must be a valid E164 address (can omit plus if needed), messages will be forwarded to the respective number as a new OUTBOUND message (charges apply).\n* `TYCHRON_CHAT` - Set to UNUSED.\n","example":"mm4://example.com:2525","format":"url","type":"string"},"sms_protocol":{"description":"All protocols supported for SMS delivery, note that none will effectively no-op all incoming messages.\n\n* `NONE` - No protocol, this will discard any inbound messages destined for the host number associated with the switch\n* `HTTP` - Uses HTTP (supports HTTPS if the sms_data includes the respective scheme, e.g. `https://example.com`)\n* `SMPP` - The switch is configured to use SMPP, note. the switch MUST have an attached API Key to determine the destination, as API Keys contain the SMPP System ID.\n* `FORWARD` - Forwards any incoming messages to the switch to another number configured as `sms_data`.\n* `TYCHRON_CHAT` - Forwards any incoming messages to Tychron's chat service.\n","enum":["NONE","SMPP","HTTP","FORWARD","TYCHRON_CHAT"],"type":"string"},"sms_identity":{"description":"Acts as the username in basic auth","example":"johndoe","type":"string"},"sms_options":{"description":"Contains various miscelleanous or experimental feature flags for SMS.\n","properties":{"dlr_on_sent":{"default":false,"description":"Experimental: Whenever a message is sent to the configured endpoint,\na dlr will automatically be generated and sent back to the sender.\n","example":false,"type":"boolean"},"forward_dlr":{"default":true,"description":"Normally a switch will always attempt to deliver DLRs the same as regular messages.\n\nThis flag can be set to stop the delivery of DLRs.\n","example":true,"type":"boolean"},"pad_shortcodes":{"default":false,"description":"Experimental: If your endpoint requires 11 or more digits for numbers, this field can\nbe enabled to pad shortcodes with leading zeroes to make them 11 digit where possible.\n","example":false,"type":"boolean"}},"type":"object"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},"title":"Switch","type":"object"},"CspBrandResponse":{"description":"Single brand","properties":{"data":{"$ref":"#/components/schemas/CspBrand"},"type":{"default":"csp_brand","example":"csp_brand","type":"string"}},"required":["type","data"],"title":"CspBrandResponse","type":"object"},"VoipAllowedClientIpsResponse":{"description":"Allowed Client IPs","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/VoipAllowedClientIpResponse"},"type":"array"}},"title":"VoipAllowedClientIpsResponse","type":"object"},"RequestProvisionRecordErrorCode":{"description":"Error codes further explain an `ERROR` or error-like status or other authoritative action.\n\nIf additional information is required about a PVR's error state, please contact support.\n\n* `OK` - there was no error\n* `MANUAL` - the PVR requires manual attention or action from an operational personnel\n* `UNKNOWN` - something went wrong, and its unclear what happened, this should never happen normally\n* `PROTECTED` - the number or associated resource is currently protected from modification.\n* `SUBMISSION_TEMPORARY_ERROR` - while submitting the number to a registry, it encountered a temporary problem, this may resolve on its own with time\n* `TIMEOUT` - the PVR took too long to complete and has timed out while processing\n* `MESSAGING_UNAVAILABLE` - the number was required to have messaging components but failed secondary sanity checks\n* `OWNERSHIP_MISMATCH` - the number once belonged to a different account but changed during processing (very unlikely to happen normally)\n* `NOT_FOUND` - the number was expected to exist, but did not\n* `FEATURE_NOT_FOUND` - the number required a specific feature to be enabled, but did not meet the criteria\n* `REQUIRED_RECORD_NOT_FOUND` - the request required a resource or record for the processing of the number, but it could not be located or was lost before processing\n* `CONFLICT` - the request has noticed that the number or resource has already met its condition and will not try again\n* `REJECTED` - the request has failed one or more sanity checks and is deemed un-processable\n* `OVERWRITE_REJECTED` - the request attempted to overwrite an item in a registry but received a rejection for attempting so\n* `WIRELESS_NUMBER_NOT_SUPPORTED` - the PVR's number was determined to be a `WIRELESS` and is not supported for enablement\n* `SUBMISSION_CHECK_FAILED` - the PVR had undergone some initial checks which have failed to determine if it could have been completed\n* `SUBMISSION_FAILED` - the number has failed submission, contact support for more details\n* `PORTABILITY_CHECK_FAILED` - similar to `SUBMISSION_CHECK_FAILED` used for cases where the checks themselves could not be completed\n* `UNPORTABLE` - similar to `SUBMISSION_CHECK_FAILED` used for cases where checks had completed but the number ultimately could not be completed\n* `CANCELLED` - the PVR has been marked CANCELLED and will be skipped by the ordering system until a reset takes place\n* `NOT_IMPLEMENTED` - the request attempted to process a feature that was not implemented, or is no longer implemented\n* `INVALID_NUMBER` - the number associated with the provision record is invalid\n* `INVALID_PHONE_NUMBER` - a phone number required by the provision record is invalid\n* `INVALID_EMAIL_ADDRESS` - an email address required by the provision record is invalid\n* `INVALID_ADDRESS` - an address required by the provision record is invalid\n* `INVALID_NNID` - the number was to be associated with a specific NNID but the ID was invalid, if this happens please contact support immediately.\n* `LOA_REQUIRED` - the number requires an LOA to complete its request\n* `DID_NOT_FOUND` - the number required that an existing DID exist, but it was not found\n\n## Upstream Errors\n\nThe following error codes pertain to Tychron and its partners, but are provided as apart of the error codes for convenience.\n\nClients are not required to act upon these codes and seeing one or more over the course of a request's lifetime is normal while problems are addressed for special cases.\n\nThe following errors codes will normally be addressed by an automatic retry or manual intervention.\n\n* `UPSTREAM_ERROR` - an external error has occurred, this will be addressed normally by an operational personnel\n* `UPSTREAM_LIMIT_EXCEEDED` - an external registry has imposed a limit which was exceeded by this number's actions\n* `UPSTREAM_TIME_LIMIT_EXCEEDED` - an external registry has imposed a time limit which was exceeded by this number's actions\n* `UPSTREAM_RESOURCE_LIMIT_EXCEEDED` - an external registry has imposed a limit on a specific resource related to the number which has been exceeded (e.g. a number pool)\n* `UPSTREAM_RESOURCE_UNAVAILABLE` - an external registry has reported a necessary resource for the number as being unavailable, it may or may not return if retried later\n* `UPSTREAM_CANCELLED` - an external registry has cancelled a request that may have been made earlier\n* `UPSTREAM_TOO_MANY_REQUESTS` - too many requests within a timespan, this will normally be addressed by an automatic retry\n* `UPSTREAM_NOT_ALLOWED_TO_PROVISION` - an external registry has prevented the provisioning of the specified number or resource\n* `UPSTREAM_NOT_AUTHORIZED_TO_PROVISION` - an external registry requires additional permission to provision the specified resource or number\n* `UPSTREAM_UNAUTHORIZED` - a generic authorization error, this will be addressed by a operational personnel\n* `UPSTREAM_RECORD_NOT_OWNED` - an external registry has deemed that the resource does not belong to the entity making the change\n* `UPSTREAM_RECORD_NOT_FOUND` - an external registry could not locate or find the specified number or resource\n* `UPSTREAM_RECORD_IS_DUPLICATE` - an external registry has determined that the resource is or may be a duplicate of another resource and has rejected the request\n* `UPSTREAM_PARAMETER_ERROR` - a malformed request was sent to the external registry (this can occur during emergency changes to upstream processes)\n* `UPSTREAM_NUMBER_UNUSABLE` - an external registry has deemed the number unusable for the specified action, it is unlikely that this number will change from this status\n* `UPSTREAM_TEMPORARILY_UNAVAILABLE` - the upstream registry could not be contacted for processing at the time, it may become available later\n* `UPSTREAM_PROVISIONING_UNAVAILABLE` - an external registry has disabled, rejected or denied provisioning of the specific resource at this time\n* `UPSTREAM_UNEXPECTED_RESPONSE` - the registry returned or responded to a request with something unexpected by the ordering system\n* `UPSTREAM_REQUEST_ERROR` - either a very specific error has occurred or something unusual has happened, contact support for more details\n\n## System Errors\n\nSystem errors are critical failures within host processing systems, if these errors do surface please contact support.\n\n* `SYSTEM_ERROR` - a generic system error\n* `SYSTEM_REQUEST_ERROR` - may be used in place of `UPSTREAM_REQUEST_ERROR` if the error was unexpected\n\n## Manual Errors or Flags\n\nThese are special case error code, typically used for manual action.\n\n* `REMOVE_FROM_UPSTREAM` - the PVR has been marked for removal from the upstream registry\n* `PURGE` - the PVR should be purged and removed from the request itself if possible\n","enum":["OK","MANUAL","UNKNOWN","PROTECTED","SUBMISSION_TEMPORARY_ERROR","TIMEOUT","MESSAGING_UNAVAILABLE","OWNERSHIP_MISMATCH","NOT_FOUND","FEATURE_NOT_FOUND","REQUIRED_RECORD_NOT_FOUND","CONFLICT","REJECTED","OVERWRITE_REJECTED","WIRELESS_NUMBER_NOT_SUPPORTED","SUBMISSION_CHECK_FAILED","SUBMISSION_FAILED","PORTABILITY_CHECK_FAILED","UNPORTABLE","CANCELLED","NOT_IMPLEMENTED","INVALID_NUMBER","INVALID_NNID","INVALID_PHONE_NUMBER","INVALID_EMAIL_ADDRESS","INVALID_ADDRESS","LOA_REQUIRED","DID_NOT_FOUND","UPSTREAM_ERROR","UPSTREAM_LIMIT_EXCEEDED","UPSTREAM_TIME_LIMIT_EXCEEDED","UPSTREAM_RESOURCE_LIMIT_EXCEEDED","UPSTREAM_RESOURCE_UNAVAILABLE","UPSTREAM_CANCELLED","UPSTREAM_TOO_MANY_REQUESTS","UPSTREAM_NOT_ALLOWED_TO_PROVISION","UPSTREAM_NOT_AUTHORIZED_TO_PROVISION","UPSTREAM_UNAUTHORIZED","UPSTREAM_RECORD_NOT_OWNED","UPSTREAM_RECORD_NOT_FOUND","UPSTREAM_RECORD_IS_DUPLICATE","UPSTREAM_PARAMETER_ERROR","UPSTREAM_NUMBER_UNUSABLE","UPSTREAM_TEMPORARILY_UNAVAILABLE","UPSTREAM_PROVISIONING_UNAVAILABLE","UPSTREAM_UNEXPECTED_RESPONSE","UPSTREAM_REQUEST_ERROR","SYSTEM_ERROR","SYSTEM_REQUEST_ERROR","REMOVE_FROM_UPSTREAM","PURGE"],"example":"TIMEOUT","title":"RequestProvisionRecordErrorCode","type":"string"},"CspCnpsResponse":{"additionalProperties":{"description":"CNP Name","type":"string"},"description":"CSP Event Categories","title":"CspCnpsResponse","type":"object"},"CspAltBusinessIdTypeResponse":{"description":"CSP Alt Business ID Types","items":{"example":"NONE","type":"string"},"title":"CspAltBusinessIdTypeResponse","type":"array"},"VoipAllowedClientIpResponse":{"description":"Single Allowed Client IP","properties":{"data":{"$ref":"#/components/schemas/VoipAllowedClientIp"},"type":{"default":"voip_allowed_client_ip","example":"voip_allowed_client_ip","type":"string"}},"title":"VoipAllowedClientIpResponse","type":"object"},"EventSubscription":{"description":"Event Subscription","properties":{"auth_identity":{"description":"Acts as the `username` for an auth pair.\n","example":"my-username","type":"string"},"auth_method":{"default":"NONE","description":"Depending on the protocol this will affect the authorization or authentication that will be performed.\n\nThis applies to HTTP, SMTP and SFTP.\n\n* `NONE` - no auth is required the event will be sent as is\n* `BASIC` - The `auth_identity` and `auth_secret` will form the auth pair\n* `BEARER` - Only the `auth_secret` will be used where applicable, for protocols that require both a username and password, the username will have a placeholder value.\n","enum":["NONE","BASIC","BEARER"],"example":"NONE","type":"string"},"auth_name":{"description":"Currently unused, but kept for future use.\n","example":"something","type":"string"},"auth_secret":{"description":"Acts as the `password` for an auth pair or just the general secret.\n","example":"my-secret-password","type":"string"},"custom_headers":{"description":"A list of additional headers that should be provided during the HTTP request.\n","items":{"description":"A single header entry, while multiple items can be provided with the same key, the behaviour\nmay not be consistent between destination servers.\n\nWhen in doubt, only use unique keys.\n","properties":{"key":{"example":"x-my-header","type":"string"},"value":{"example":"My Header Value","type":"string"}},"type":"object"},"type":"array"},"custom_query_params":{"description":"","items":{"description":"A single query parameter pair.\n","properties":{"key":{"example":"my_param","type":"string"},"value":{"example":"ParamValue","type":"string"}},"type":"object"},"type":"array"},"data":{"description":"Depending on the protocol specified this may be an http endpoint (HTTP), a hostname (SMTP or SFTP) or an email address (EMAIL).\n\nProtocol:\n* `NONE` - nothing, this field is unused\n* `HTTP` - the http server endpoint (e.g. \"http://events.example.com:7654/events/v1/ordering\")\n* `SFTP` - the sftp server address (e.g. \"sftp://sftp.example.com:2231/path/to/upload\")\n* `SMTP` - the relay server address (e.g. \"smtp://smtp.example.com:2554\")\n* `EMAIL` - the recipient email address (e.g. \"john.doe@example.com\")\n\nA keen eye may notice there was no mention of the recipient address for SMTP, that is covered in `recipient`.\n","example":"","type":"string"},"enabled":{"default":true,"description":"Is the subscription enabled to handle events?\n\nSubscriptions can be toggled on or off as needed.\n","example":true,"type":"boolean"},"expired_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"description":"The friendly given name for this subscription\n","example":"CSP Events","maxLength":255,"type":"string"},"notes":{"description":"Any additional information about this subscription that otherwise could not fit into the name.\n\nThis can be useful to another user or agent that is reviewing the subscription.\n","maxLength":65535,"type":"string"},"protocol":{"default":"NONE","description":"When the subscription receives an event for handling, it wil be processed and sent using the specified protocol.\n\nAvailable:\n* `NONE` - effectively a no-op.\n* `HTTP` - sends the event over HTTP to a specified endpoint `data`.\n* `SFTP` - uploads the event to a specified SFTP server\n\nPlanned (currently unavailable, but may become available later):\n* `SMTP` - sends the event over SMTP (not email compatible)\n* `EMAIL` - emails the event to specified address in `data`\n","enum":["NONE","HTTP","SMTP","SFTP","EMAIL"],"example":"NONE","type":"string"},"recipient":{"description":"Only applicable when the `protocol` is SMTP, this will be the recipient address (e.g. \"events@example.com\")\n","example":"events@example.com","type":"string"},"started_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"topics":{"default":[],"description":"An event subscription must be list topics it wishes to receive events for.\n","items":{"description":"Topics affect which events the subscription will handle:\n\n* `NONE` - is not really a valid topic, but is provided as a placeholder\n* `DID` - did or number related changes such as components being added or removed from a number.\n* `CSP_BRAND` - CSP Brand related events, such as their creation or removal\n* `CSP_CAMPAIGN` - CSP Campaign related events, such as their creation or removal\n* `ORDER` - Whenever an order completes (successfully or unsuccessfully)\n* `REQUEST` - Whenever a request completes (successfully or unsuccessfully)\n* `OSR` - Whenever a request is received to overwrite an existing number (i.e. changing providers)\n","enum":["NONE","DID","CSP_BRAND","CSP_CAMPAIGN","ORDER","REQUEST","OSR"],"type":"string"},"type":"array"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"title":"EventSubscription","type":"object"},"NumberId":{"description":"Number ID.\n\nRoutes that take a number id will typically allow its UUID or it's digits.\n","oneOf":[{"format":"uuid","type":"string"},{"format":"tel","type":"string"}],"title":"NumberId"},"CSPCampaignOptoutItem":{"description":"A record representing an opt-out for a host and remote number pair under a campaign.\n\nOptouts may be manually added or may be triggered by the remote_number to stop receiving messages.\n","properties":{"host_number":{"description":"A reference to the host number that this optout belongs to.\n\nThat is the number that received the optout request.\n","example":"12003004000","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"keyword":{"description":"If the optout was triggered by the system, this field will be populated with the keyword\nused.\n\nWill be some variant of STOP normally.\n\nFor more information about keywords and their handling, contact support.\n","example":"STOP","type":"string"},"remote_number":{"description":"The client number that sent the optout, or is opted out of receiving messages from the\nhost number\n","example":"12003004001","type":"string"},"tcr_campaign_id":{"description":"The Campaign ID, as issued by TCR.\n","example":"C012345","type":"string"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","host_number","remote_number"],"title":"CSPCampaignOptoutItem","type":"object"},"RequestProvisionRecord":{"description":"A Request's Provision Record represents a single number or unit of work that a request will\nprocess.\n\nProvision records will reflect the status of a single number in that request.\n\nProvision records may be replaced if a request is reset by a operational personnel to diagnose\nissues or to resolve an error.\n","example":{"error_code":"OK","id":"01HBH4BJJXGNJADQHEKS7987MC","inserted_at":"2023-09-29T10:42:35.000000Z","number":"12003004000","status":"NONE","updated_at":"2023-09-29T10:42:35.000000Z"},"properties":{"error_code":{"$ref":"#/components/schemas/RequestProvisionRecordErrorCode"},"id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"number":{"example":"12003004000","type":"string"},"status":{"$ref":"#/components/schemas/RequestProvisionRecordStatus"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"}},"required":["id","inserted_at","updated_at","number","status","error_code"],"title":"RequestProvisionRecord","type":"object"},"CDRsResponse":{"description":"CDRs","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/CDRResponse"},"type":"array"}},"title":"CDRsResponse","type":"object"},"SystemEventDataDidComponent":{"description":"The component of the DID that was created or deleted.\n","enum":["UNKNOWN","MESSAGING","VOICE","CSP_CAMPAIGN"],"title":"SystemEventDataDidComponent","type":"string"},"CreatedSecretKey":{"description":"An Secret Key that was newly created","properties":{"data":{"description":"Base64 Encoded secret key, only available on creation.","type":"string"},"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"inserted_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"name":{"description":"A friendly name to identify the Secret Key","example":"My Secret Key","maxLength":255,"minLength":3,"type":"string"},"notes":{"description":"Any notes about the Secret Key, like, what it is used for, or other sharable details.\n","example":"This Secret Key is used for the west datacenter's SMS notifications.","maxLength":65535,"minLength":0,"type":"string"},"size":{"description":"The size of the key that should be created in bytes, or the size of the key in the system.\n\nDifferent use cases or methods will require different length keys.\n","enum":[16,24,32,48,64],"example":32,"type":"number"},"updated_at":{"description":"An ISO8601 formatted timestamp","example":"2021-08-13T04:08:44.762841Z","format":"date-time","type":"string"},"usage":{"description":"What is the intended usage of the Secret Key, this will bar it from being used for other cases.\n\nNONE is placeholder or temporary disablement state reserved for internal usage.\n\nOnly SIGNING and ENCRYPTION can be used otherwise.\n","enum":["NONE","SIGNING","ENCRYPTION"],"example":"SIGNING","type":"string"}},"required":["id","inserted_at","updated_at","name","notes","usage","size","data"],"title":"CreatedSecretKey","type":"object"},"UpdateRoleData":{"description":"Request Data when updating an existing Role.\n","properties":{"default_scope":{"description":"Role's default_scope, this is the scope applied when resources specify IGNORE for their own scope.\n\n* `IGNORE` - When used as the default_scope, effectively disables all resources that use IGNORE as their scope.\n* `USER` - Resources are scoped to the user, or their nearest account where applicable.\n* `ACCOUNT` - Resources are scoped against the user's account.\n* `SYSTEM` - Cannot be set by the API, but provided for reference, this is the system-wide scope.\n","enum":["IGNORE","ACCOUNT","USER","SYSTEM"],"example":"ACCOUNT","type":"string"},"name":{"description":"Role's display name.\n","example":"Ordering Role","type":"string"},"notes":{"description":"Any notes about the role.\n","example":"This role governs the Ordering System Access","type":"string"},"rank":{"default":0,"description":"Levels dictate the access, scopes filter resources, and ranks allow differentiating the same level of\naccess within the account.\n\nRanks allow organizing roles within the account by importance.\n\n0 is most relevant sometimes referred to as the highest rank.\n1+ are ranks lower.\n\nRanks primarily affect the modification of:\n* Users - See Roles for information, as a user's Role dictates their permissions.\n* Roles - Roles of the same rank can modify themselves and those of lower rank, ranks of a higher rank cannot be modified by those of a lower rank.\n","minimum":0,"type":"integer"},"resources":{"description":"Role's job title, or position\n","items":{"properties":{"actions":{"items":{"properties":{"name":{"description":"The name of the action.\n","enum":["sell_rates","buy_rates","count","full_index","index","assoc","show","charge","reset","create","update","delete","purge","move","import","export","review","protect","share","unshare","impersonate","checkout","lookup_result","process","cancel","download","upload","summarize"],"type":"string"},"value":{"description":"Whether or not the action is enabled.\n\nNOTE. This is not a Boolean.\n\nThe field is an enum that happens to use the values true and false as strings.\n","enum":["true","false"],"type":"string"}},"type":"object"},"type":"array"},"resource_id":{"type":"string"},"scope":{"default":"IGNORE","description":"See Role's default_scope for more details on the enum.\n\nIGNORE acts as a fallback to the `default_scope`.\n","enum":["IGNORE","ACCOUNT","USER","SYSTEM"],"example":"IGNORE","type":"string"}},"type":"object"},"type":"array"}},"title":"UpdateRoleData","type":"object"},"ErrorsResponse":{"description":"Common errors response","properties":{"errors":{"description":"A list of errors from the request","items":{"$ref":"#/components/schemas/ErrorObject"},"type":"array"}},"title":"ErrorsResponse","type":"object"},"UpdateVoipAllowedClientIpData":{"description":"Parameters for updating an allowed client ip","properties":{"name":{"description":"A display name for the Allowed Client IP","type":"string"},"notes":{"description":"Any notes on the Allowed Client IP","type":"string"}},"title":"UpdateVoipAllowedClientIpData","type":"object"},"CspVertical":{"description":"CSP Vertical","properties":{"description":{"example":"Information technology and information services.","type":"string"},"displayName":{"example":"Information Technology Services","type":"string"},"industryId":{"example":"information-technology-services","type":"string"}},"title":"CspVertical","type":"object"},"UpsertMessagingAutoResponseRequest":{"description":"Request to create or update an Messaging Auto Response","properties":{"data":{"$ref":"#/components/schemas/UpsertMessagingAutoResponseData"},"type":{"default":"messaging_auto_response","example":"messaging_auto_response","type":"string"}},"required":["data"],"title":"UpsertMessagingAutoResponseRequest","type":"object"},"CspVettingClassesResponse":{"description":"CSP Vetting Classes","items":{"$ref":"#/components/schemas/CspVettingClass"},"title":"CspVettingClassesResponse","type":"array"},"AttachSwitchSmsSigningKeyRequest":{"description":"Request for attaching a Secret Key to a switch for SMS Signing","properties":{"data":{"$ref":"#/components/schemas/AttachSwitchSmsSigningKeyData"},"type":{"default":"switch","example":"switch","type":"string"}},"required":["data"],"title":"AttachSwitchSmsSigningKeyRequest","type":"object"},"NumberClientSuspensionResponse":{"description":"Single Number Client Suspension","properties":{"associations":{"properties":{"host_did":{"description":"A reference to the host number (did) that this client suspension belongs to.\n","properties":{"id":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"},"number":{"description":"Will match the host_number from the client suspension, may not be set under certain\ncircumstances.\n","example":"12003004000","type":"string"}},"required":["id"],"type":"object"}},"type":"object"},"data":{"$ref":"#/components/schemas/NumberClientSuspension"},"type":{"default":"number_client_suspension","example":"number_client_suspension","type":"string"}},"title":"NumberClientSuspensionResponse","type":"object"},"SystemEventDataRequestCompleted":{"description":"`REQUEST_COMPLETED`\n\nThis event is sent whenever a `REQUEST` is considered complete (not necessarily `COMPLETED`, it may be an `ERROR` as well).\n\nThe parent System Event will contain the `provision_records` associations which give a finer detail of what specific items were completed or had errors.\n","example":{"data":{"brand_id":"B123456","tcr_brand_id":"B123456"},"error_code":"OK","order_id":"01EH2Y28M6KXG14QMPM3HSP1Y0","request_id":"01EH2Y28M6KXG14QMPM3HSP1Y0","status":"COMPLETED","type":"REGISTER_BRAND"},"properties":{"data":{"oneOf":[{"$ref":"#/components/schemas/SystemEventDataRequestCompletedDataRegisterBrand"},{"$ref":"#/components/schemas/SystemEventDataRequestCompletedDataRegisterCampaign"}]},"error_code":{"$ref":"#/components/schemas/OrderErrorCode"},"order_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"request_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"status":{"$ref":"#/components/schemas/OrderStatus"},"type":{"$ref":"#/components/schemas/RequestType"}},"required":["type","status","error_code","order_id","request_id","data"],"title":"SystemEventDataRequestCompleted","type":"object"},"SystemEventDataCspCampaignOptoutItemDeleted":{"description":"`CSP_CAMPAIGN_OPTOUT_ITEM_DELETED`\n\nWhile it may be confusing at first, the deletion of an optout item signifies that a subscriber,\nas opted-in to receive messages and a restriction is no longer in place.\n","properties":{"csp_campaign_id":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"},"host_number":{"description":"A reference to the host number that this optout belongs to.\n\nThat is the number that received the optout request.\n","example":"12003004000","type":"string"},"keyword":{"description":"If the optout was triggered by the system, this field will be populated with the keyword\nused.\n\nWill be some variant of STOP normally.\n\nFor more information about keywords and their handling, contact support.\n","example":"STOP","type":"string"},"remote_number":{"description":"The client number that sent the optout, or is opted out of receiving messages from the\nhost number\n","example":"12003004001","type":"string"},"tcr_campaign_id":{"description":"The TCR issued campaign ID","example":"C000000","type":"string"}},"required":["remote_number","tcr_campaign_id","csp_campaign_id"],"title":"SystemEventDataCspCampaignOptoutItemDeleted","type":"object"},"CspCampaignsResponse":{"description":"Campaigns","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/CspCampaignResponse"},"type":"array"}},"title":"CspCampaignsResponse","type":"object"},"SwitchResponse":{"description":"Single switch","properties":{"associations":{"properties":{"api_key":{"description":"The attached and associated API Key used for SMPP routing.\n","properties":{"id":{"format":"uuid","type":"string"}},"type":"object"},"mms_encryption_key":{"description":"The Secret Key that will be used for MMS encryption if enabled.\n","properties":{"id":{"format":"uuid","type":"string"}},"type":"object"},"mms_signing_key":{"description":"The Secret Key that will be used for MMS signing if enabled.\n","properties":{"id":{"format":"uuid","type":"string"}},"type":"object"},"sms_encryption_key":{"description":"The Secret Key that should be used for SMS encryption if enabled.\n","properties":{"id":{"format":"uuid","type":"string"}},"type":"object"},"sms_signing_key":{"description":"The Secret Key that will be used for SMS signing if enabled.\n","properties":{"id":{"format":"uuid","type":"string"}},"type":"object"}},"type":"object"},"data":{"$ref":"#/components/schemas/Switch"},"type":{"default":"switch","example":"switch","type":"string"}},"title":"SwitchResponse","type":"object"},"UpdateCallDataWebhookRequest":{"description":"Request for update an existing Call Data Webhook","properties":{"data":{"$ref":"#/components/schemas/UpdateCallDataWebhookData"},"type":{"default":"call_data_webhook","example":"call_data_webhook","type":"string"}},"required":["data"],"title":"UpdateCallDataWebhookRequest","type":"object"},"CspCampaignStatusesResponse":{"description":"CSP Campaign Statuses","items":{"example":"ACTIVE","type":"string"},"title":"CspCampaignStatusesResponse","type":"array"},"AttachSwitchMmsEncryptionKeyData":{"description":"Parameters for attaching a Secret Key to a Switch for MMS Encryption","properties":{"mms_encryption_method":{"$ref":"#/components/schemas/SwitchEncryptionMethod"}},"title":"AttachSwitchMmsEncryptionKeyData","type":"object"},"ExportTasksResponse":{"description":"CDR Export Tasks","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/ExportTaskResponse"},"type":"array"}},"title":"ExportTasksResponse","type":"object"},"CreateOptoutItemData":{"description":"Parameters for creating a Number Optout Item","properties":{"host_number":{"description":"A reference to the host number that this optout belongs to.\n\nThat is the number that received the optout request.\n","example":"12003004000","type":"string"},"remote_number":{"description":"The client number that sent the optout, or is opted out of receiving messages from the\nhost number\n","example":"12003004001","type":"string"}},"required":["host_number","remote_number"],"title":"CreateOptoutItemData","type":"object"},"CartRequestsResponse":{"description":"Requests","properties":{"count":{"example":1,"type":"integer"},"page_info":{"$ref":"#/components/schemas/PageInfo"},"results":{"items":{"$ref":"#/components/schemas/CartRequestResponse"},"type":"array"}},"title":"CartRequestsResponse","type":"object"}},"securitySchemes":{"api-key-auth":{"description":"Requires any standard API Key\n","scheme":"bearer","type":"http"},"role-auth":{"description":"Requires an impersonated API Key.\n","scheme":"bearer","type":"http"}}},"info":{"description":"Atlas Version 1.x service APIs, offers a limited subset of functionality for\nmanipulating and querying various records present in the Atlas Platform.\n\nUsers of the API may perform ordering, verify and update number routing information.\n","title":"Atlas V1 API","version":"2026.9.8-p00"},"openapi":"3.0.0","paths":{"/api/v1/secret_keys/{secret_key_id}/mms_signed_switches":{"get":{"callbacks":{},"description":"Retrieve a list of switches that are using the secret key for MMS Signing.\n","operationId":"Atlas.Web.API.V1.SwitchController.index_mms_signed_switches_for_secret_key","parameters":[{"description":"Secret Key ID","in":"path","name":"secret_key_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchesResponse"}}},"description":"Switches"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key Not Found"}},"security":[{"role-auth":["secret_keys:show","switches:index"]}],"summary":"List Switches using Secret Key for MMS Signing","tags":["Switches"]}},"/api/v1/cdrs_by_type/{type}":{"get":{"callbacks":{},"description":"Retrieve latest cdrs by type\n","operationId":"Atlas.Web.API.V1.CDRController.index_by_type","parameters":[{"description":"CDR Type","in":"path","name":"type","required":true,"schema":{"$ref":"#/components/schemas/CDRType"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CDRsResponse"}}},"description":"CDRs"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["cdrs:index"]}],"summary":"List CDRs by Type","tags":["CDRs"]}},"/api/v1/cdr_export_tasks/{id}":{"delete":{"callbacks":{},"description":"Delete an CDR Export Task.\n","operationId":"Atlas.Web.API.V1.CDRExportTaskController.delete","parameters":[{"description":"CDR Export Task ID","in":"path","name":"id","required":true,"schema":{"example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportTaskResponse"}}},"description":"CDR Export Task"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CDR Export Task Not Found"}},"security":[{"role-auth":["call_data_export_tasks:delete"]}],"summary":"Delete CDR Export Task","tags":["CDR - Export Tasks"]},"get":{"callbacks":{},"description":"Retrieve a CDR Export Task by ID\n","operationId":"Atlas.Web.API.V1.CDRExportTaskController.show","parameters":[{"description":"CDR Export Task ID","in":"path","name":"id","required":true,"schema":{"example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportTaskResponse"}}},"description":"CDR Export Task"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CDR Export Task Not Found"}},"security":[{"role-auth":["call_data_export_tasks:show"]}],"summary":"Retrieve CDR Export Task by ID","tags":["CDR - Export Tasks"]}},"/api/v1/numbers/{number_id}/api_keys":{"get":{"callbacks":{},"description":"Retrieve a list of all api keys bound to the number\n","operationId":"Atlas.Web.API.V1.Number.ApiKeyController.index","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeysResponse"}}},"description":"API Keys"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number Not Found"}},"security":[{"role-auth":["dids:show","api_keys:index"]}],"summary":"List Number's API Keys","tags":["API Keys"]}},"/api/v1/api_keys":{"get":{"callbacks":{},"description":"Retrieve API Keys allocated for this account.\n","operationId":"Atlas.Web.API.V1.ApiKeyController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeysResponse"}}},"description":"API Keys"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["api_keys:index"]}],"summary":"List API Keys","tags":["API Keys"]},"post":{"callbacks":{},"description":"Create a new API Key.\n\nNote that newly created API Keys will return their secrets, however all subsequent GET requests\nwill not contain the secrets.\n","operationId":"Atlas.Web.API.V1.ApiKeyController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyRequest"}}},"description":"Create an API Key","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["api_keys:create"]}],"summary":"Create API Key","tags":["API Keys"]}},"/api/v1/carts/{cart_id}/requests/{request_id}/documents/{id}":{"delete":{"callbacks":{},"description":"Removes a request document and any associated uploaded files.\n","operationId":"Atlas.Web.API.V1.Cart.Request.DocumentController.delete","parameters":[{"description":"Cart ID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Document ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDocumentResponse"}}},"description":"Request Document Deleted"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request Contained Errors"}},"security":[{"role-auth":["carts:show","cart_requests:show","request_documents:delete"]}],"summary":"Delete Request Document","tags":["Cart Request Documents"]},"get":{"callbacks":{},"description":"Retrieve a Request Document record by its ID.\n\nNote this is the \"record\" and not the uploaded file.\n","operationId":"Atlas.Web.API.V1.Cart.Request.DocumentController.show","parameters":[{"description":"Cart ID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Document ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDocumentResponse"}}},"description":"Request Document"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"}},"security":[{"role-auth":["carts:show","cart_requests:show","request_documents:index"]}],"summary":"Retrieve Request Document","tags":["Cart Request Documents"]}},"/api/v1/osr/overwrite_requests/{id}":{"get":{"callbacks":{},"description":"Lookup an Overwrite Request by its ID\n","operationId":"Atlas.Web.API.V1.OSR.OverwriteRequestController.show","parameters":[{"description":"OSR Overwrite Request ID","in":"path","name":"id","required":true,"schema":{"format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverwriteRequestResponse"}}},"description":"Overwrite Request"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Overwrite Request Not Found"}},"security":[{"role-auth":["osr_overwrite_requests:show"]}],"summary":"Retrieve Overwrite Request by ID","tags":["Overwrite Requests"]}},"/api/v1/switches/{id}":{"delete":{"callbacks":{},"description":"Delete an existing Switch.\n\nA switch cannot be deleted if it is still attached to one or more numbers.\n","operationId":"Atlas.Web.API.V1.SwitchController.delete","parameters":[{"description":"Switch ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Switch not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["switches:delete"]}],"summary":"Delete Switch","tags":["Switches"]},"get":{"callbacks":{},"description":"Lookup a switch by ID\n","operationId":"Atlas.Web.API.V1.SwitchController.show","parameters":[{"description":"Switch ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Switch not found"}},"security":[{"role-auth":["switches:show"]}],"summary":"Retrieve Switch by ID","tags":["Switches"]},"patch":{"callbacks":{},"description":"Update an existing Switch.\n","operationId":"Atlas.Web.API.V1.SwitchController.update (2)","parameters":[{"description":"Switch ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSwitchRequest"}}},"description":"Update a switch","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Switch not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["switches:update"]}],"summary":"Update Switch","tags":["Switches"]},"put":{"callbacks":{},"description":"Update an existing Switch.\n","operationId":"Atlas.Web.API.V1.SwitchController.update","parameters":[{"description":"Switch ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSwitchRequest"}}},"description":"Update a switch","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Switch not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["switches:update"]}],"summary":"Update Switch","tags":["Switches"]}},"/api/v1/numbers/{number_id}/auto_response/{id}":{"put":{"callbacks":{},"description":"Change or set a Number's Messaging Auto Response\n","operationId":"Atlas.Web.API.V1.Number.MessagingAutoResponseController.attach","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}},{"description":"Messaging Auto Response ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAutoResponseResponse"}}},"description":"Messaging Auto Response"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or Messaging Auto Response not found"}},"security":[{"role-auth":["dids:show","dids:update","messaging_auto_responses:show"]}],"summary":"Attach Messaging Auto Response","tags":["Messaging Auto Responses"]}},"/api/v1/voip/allowed_client_ips":{"get":{"callbacks":{},"description":"\n","operationId":"Atlas.Web.API.V1.VOIP.AllowedClientIpController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoipAllowedClientIpsResponse"}}},"description":"Allowed Client IPs"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["allowed_client_ips:index"]}],"summary":"List VoIP Allowed Client IPs","tags":["VoIP Allowed Client IPs"]},"post":{"callbacks":{},"description":"Add an IP to the VoIP system for Customer Origination allowed listing.\n","operationId":"Atlas.Web.API.V1.VOIP.AllowedClientIpController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVoipAllowedClientIpRequest"}}},"description":"Add VoIP Allowed Client IP","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoipAllowedClientIpResponse"}}},"description":"Allowed Client IP"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["allowed_client_ips:create"]}],"summary":"Add VoIP Allowed Client IP","tags":["VoIP Allowed Client IPs"]}},"/api/v1/brands/{id}":{"get":{"callbacks":{},"description":"Lookup a Brand by its internal UUID\n","operationId":"Atlas.Web.API.V1.CSP.BrandController.show","parameters":[{"description":"Brand ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspBrandResponse"}}},"description":"CSP Brand"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CSP Brand not found"}},"security":[{"role-auth":["csp_brands:show"]}],"summary":"Retrieve a Brand by its internal UUID","tags":["CSP Brands"]}},"/api/v1/numbers/{number_id}/client_suspensions":{"get":{"callbacks":{},"description":"Retrieve all Client Suspensions for specified Number.\n","operationId":"Atlas.Web.API.V1.NumberClientSuspensionController.index_for_did","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"$ref":"#/components/schemas/NumberId"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberClientSuspensionsResponse"}}},"description":"Number Client Suspensions"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number Not Found"}},"security":[{"role-auth":["dids:show","did_client_suspensions:index"]}],"summary":"List All Client Suspensions for Number","tags":["Number Client Suspensions"]},"post":{"callbacks":{},"description":"Create a new Number Client Suspension.\n","operationId":"Atlas.Web.API.V1.NumberClientSuspensionController.create_for_did","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"$ref":"#/components/schemas/NumberId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertNumberClientSuspensionRequest"}}},"description":"Create Number Client Suspension","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberClientSuspensionResponse"}}},"description":"Number Client Suspension"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number Not Found"}},"security":[{"role-auth":["dids:show","did_client_suspensions:create"]}],"summary":"Create a new Number Client Suspension","tags":["Number Client Suspensions"]}},"/api/v1/numbers/{number_id}/messaging_switch":{"delete":{"callbacks":{},"description":"Removes the Messaging Switch on a specified Number\n","operationId":"Atlas.Web.API.V1.Number.MessagingSwitchController.detach","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or Switch not found or set"}},"security":[{"role-auth":["dids:show","dids:update"]}],"summary":"Detach Messaging Switch","tags":["Switches"]},"get":{"callbacks":{},"description":"Retrieve Number's Messaging Switch\n","operationId":"Atlas.Web.API.V1.Number.MessagingSwitchController.show","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or Switch not found or set"}},"security":[{"role-auth":["dids:show","switches:show"]}],"summary":"Retrieve Messaging Switch","tags":["Switches"]}},"/api/v1/secret_keys":{"get":{"callbacks":{},"description":"Retrieve Secret Keys allocated for this account.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeysResponse"}}},"description":"Secret Keys"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["secret_keys:index"]}],"summary":"List Secret Keys","tags":["Secret Keys"]},"post":{"callbacks":{},"description":"Create a new Secret Key.\n\nNote that newly created Secret Keys will return their secrets, however all subsequent GET requests\nwill not contain the secrets.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretKeyRequest"}}},"description":"Create an Secret Key","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key Not Found"}},"security":[{"role-auth":["secret_keys:create"]}],"summary":"Create Secret Key","tags":["Secret Keys"]}},"/api/v1/numbers/{number_id}/destinations":{"get":{"callbacks":{},"description":"Retrieve a list of all api keys bound to the number\n","operationId":"Atlas.Web.API.V1.Number.DestinationController.index","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"$ref":"#/components/schemas/NumberId"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationsResponse"}}},"description":"Number Destinations"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number Not Found"}},"security":[{"role-auth":["dids:show","did_destinations:index"]}],"summary":"List Number's Destinations","tags":["DID Destinations"]},"post":{"callbacks":{},"description":"Create a new Number Destination.\n","operationId":"Atlas.Web.API.V1.Number.DestinationController.create","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"$ref":"#/components/schemas/NumberId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDestinationRequest"}}},"description":"Create Number Destination","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationResponse"}}},"description":"Number Destination"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number not found"}},"security":[{"role-auth":["dids:show","did_destinations:create"]}],"summary":"Create a new Number Destination","tags":["DID Destinations"]}},"/api/v1/provision_records/{id}":{"get":{"callbacks":{},"description":"Lookup an Provision Record by its ID\n","operationId":"Atlas.Web.API.V1.ProvisionRecordController.show","parameters":[{"description":"Provision Record ID","in":"path","name":"id","required":true,"schema":{"format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestProvisionRecordResponse"}}},"description":"Provision Record"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Provision Record Not Found"}},"security":[{"role-auth":["request_provision_records:show"]}],"summary":"Retrieve Provision Record by ID","tags":["Request - Provision Records"]}},"/api/v1/osr/overwrite_requests":{"get":{"callbacks":{},"description":"Retrieve a list of overwrite requests, latest requests are always first\n","operationId":"Atlas.Web.API.V1.OSR.OverwriteRequestController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverwriteRequestsResponse"}}},"description":"OSR Overwrite Requests"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["osr_overwrite_requests:index"]}],"summary":"List Overwrite Requests","tags":["Overwrite Requests"]}},"/api/v1/number_client_suspensions/{id}":{"delete":{"callbacks":{},"description":"Delete an existing Number Client Suspension by ID.\n","operationId":"Atlas.Web.API.V1.NumberClientSuspensionController.delete","parameters":[{"description":"Client Suspension ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberClientSuspensionResponse"}}},"description":"Number Client Suspension"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number Client Suspension not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["did_client_suspensions:delete"]}],"summary":"Delete Number Client Suspension","tags":["Number Client Suspensions"]},"get":{"callbacks":{},"description":"Lookup a Number Client Suspension by its ID.\n","operationId":"Atlas.Web.API.V1.NumberClientSuspensionController.show","parameters":[{"description":"Client Suspension ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberClientSuspensionResponse"}}},"description":"Number Client Suspension"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number Client Suspension Not Found"}},"security":[{"role-auth":["did_client_suspensions:show"]}],"summary":"Retrieve Number Client Suspension by ID","tags":["Number Client Suspensions"]},"patch":{"callbacks":{},"description":"Update an existing Number Client Suspension by ID.\n","operationId":"Atlas.Web.API.V1.NumberClientSuspensionController.update (2)","parameters":[{"description":"Client Suspension ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertNumberClientSuspensionRequest"}}},"description":"Update Number Client Suspension","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberClientSuspensionResponse"}}},"description":"Number Client Suspension"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number Client Suspension not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["did_client_suspensions:update"]}],"summary":"Update Number Client Suspension","tags":["Number Client Suspensions"]},"put":{"callbacks":{},"description":"Update an existing Number Client Suspension by ID.\n","operationId":"Atlas.Web.API.V1.NumberClientSuspensionController.update","parameters":[{"description":"Client Suspension ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertNumberClientSuspensionRequest"}}},"description":"Update Number Client Suspension","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberClientSuspensionResponse"}}},"description":"Number Client Suspension"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number Client Suspension not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["did_client_suspensions:update"]}],"summary":"Update Number Client Suspension","tags":["Number Client Suspensions"]}},"/api/v1/cdrs/{id}":{"get":{"callbacks":{},"description":"Retrieve a CDR by ID\n","operationId":"Atlas.Web.API.V1.CDRController.show","parameters":[{"description":"CDR ID","in":"path","name":"id","required":true,"schema":{"example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CDRResponse"}}},"description":"CDR"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CDR Not Found"}},"security":[{"role-auth":["cdrs:show"]}],"summary":"Retrieve CDR by ID","tags":["CDRs"]}},"/api/v1/secret_keys/{id}":{"delete":{"callbacks":{},"description":"Delete an Secret Key.\n\nNote that an Secret Key cannot be deleted if it is still associated with any Switches.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.delete","parameters":[{"description":"Secret Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key Not Found"}},"security":[{"role-auth":["secret_keys:delete"]}],"summary":"Delete Secret Key","tags":["Secret Keys"]},"get":{"callbacks":{},"description":"Lookup an Secret Key by its ID\n","operationId":"Atlas.Web.API.V1.SecretKeyController.show","parameters":[{"description":"Secret Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key Not Found"}},"security":[{"role-auth":["secret_keys:show"]}],"summary":"Retrieve Secret Key by ID","tags":["Secret Keys"]},"patch":{"callbacks":{},"description":"Update an existing Secret Key\n","operationId":"Atlas.Web.API.V1.SecretKeyController.update (2)","parameters":[{"description":"Secret Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretKeyRequest"}}},"description":"Update a Secret Key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key Not Found"}},"security":[{"role-auth":["secret_keys:update"]}],"summary":"Update Secret Key","tags":["Secret Keys"]},"put":{"callbacks":{},"description":"Update an existing Secret Key\n","operationId":"Atlas.Web.API.V1.SecretKeyController.update","parameters":[{"description":"Secret Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSecretKeyRequest"}}},"description":"Update a Secret Key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key Not Found"}},"security":[{"role-auth":["secret_keys:update"]}],"summary":"Update Secret Key","tags":["Secret Keys"]}},"/api/v1/number_inventory/{type}/numbers":{"get":{"callbacks":{},"description":"Searches for available numbers that can be used in requests.\n","operationId":"Atlas.Web.API.V1.NumberInventoryController.search_numbers","parameters":[{"description":"Either TENDLC or TOLLFREE","in":"path","name":"type","required":true,"schema":{"enum":["TENDLC","TOLLFREE"],"type":"string"}},{"description":"","in":"query","name":"pattern","required":false,"schema":{"description":"A mask or pattern used to search for numbers in the inventory.\n\nSupports:\n* Numbers (0-9) - Matches the exact digits present (e.g. \"12002001234\")\n* Wildcards (? and *) - Either wildcards one digit or a range (e.g. \"1200?2?*\")\n\nAlternatively, the `npa` and or `nxx` fields can be used instead for a much simpler\nsearch.\n\nExamples:\n\n    Searching for all 1800 numbers: \"1800???????\"\n\n","example":"1200???????","format":"tel","type":"string"}},{"description":"","in":"query","name":"npa","required":false,"schema":{"description":"A simplified format of the pattern, where only the NPA (Area Code) is provided.\n\nThis field can be used in conjuction with the `nxx` field to form a NPANXX pattern\ninternally.\n","example":"800","type":"string"}},{"description":"","in":"query","name":"nxx","required":false,"schema":{"description":"A simplified format of the pattern, where only the NXX (Exchange Code) is provided.\n\nThis field can be used in conjuction with the `npa` field to form a NPANXX pattern\ninternally.\n","example":"200","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchNumberInventoryResponse"}}},"description":"Number Inventory"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["inventory_numbers:index"]}],"tags":["Number Inventory"]}},"/api/v1/csp/enum/alt_business_id_types":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_alt_business_id_types","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspAltBusinessIdTypeResponse"}}},"description":"CSP Alt Business ID Types"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Alt Business ID Types","tags":["CSP Enums"]}},"/api/v1/numbers/{number_id}/api_keys/{api_key_id}/unbind":{"post":{"callbacks":{},"description":"Unbind specified API Key from the number\n","operationId":"Atlas.Web.API.V1.Number.ApiKeyController.unbind","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}},{"description":"API Key ID","in":"path","name":"api_key_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or API Key Not Found"}},"security":[{"role-auth":["dids:update","api_keys:show"]}],"summary":"Unbind an API Key from Number","tags":["API Keys"]}},"/api/v1/csp/enum/vetting_providers":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_vetting_providers","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspVettingProvidersResponse"}}},"description":"CSP Vetting Providers"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Vetting Providers","tags":["CSP Enums"]}},"/api/v1/switches/{switch_id}/mms_encryption_key":{"delete":{"callbacks":{},"description":"Detach Secret Key from Switch used for MMS Encryption.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.detach_switch_mms_encryption_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:update","secret_keys:show"]}],"summary":"Detach Switch's MMS Encryption Key","tags":["Secret Keys"]},"get":{"callbacks":{},"description":"Retrieve a switch's MMS Encryption Key.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.get_switch_mms_encryption_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:show","secret_keys:show"]}],"summary":"Get Switch's MMS Encryption Key","tags":["Secret Keys"]}},"/api/v1/switches/{switch_id}/mms_encryption_key/{id}":{"put":{"callbacks":{},"description":"Attach a Secret Key to a Switch for MMS Encryption.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.attach_switch_mms_encryption_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Secret Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachSwitchMmsEncryptionKeyRequest"}}},"description":"Attach MMS Encryption Key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:update","secret_keys:show"]}],"summary":"Attach Switch's MMS Encryption Key","tags":["Secret Keys"]}},"/api/v1/tts/voices":{"get":{"callbacks":{},"description":"Retrieve a list of all available TTS Voices\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.VoiceController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicesResponse"}}},"description":"TTS Voices"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["tts_voices:index"]}],"summary":"List TTS Voices","tags":["TTS Voices"]}},"/api/v1/orders":{"get":{"callbacks":{},"description":"Retrieve a list of orders, ordered by descending order by inserted_at (i.e. most recent is first)\n","operationId":"Atlas.Web.API.V1.OrderController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrdersResponse"}}},"description":"Orders"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["orders:index"]}],"summary":"List Orders","tags":["Orders"]}},"/api/v1/number_inventory/{type}/coverage":{"get":{"callbacks":{},"description":"Searches inventory coverage.\n","operationId":"Atlas.Web.API.V1.NumberInventoryController.search_coverage","parameters":[{"description":"Either TENDLC or TOLLFREE","in":"path","name":"type","required":true,"schema":{"enum":["TENDLC","TOLLFREE"],"type":"string"}},{"description":"","in":"query","name":"npa","required":false,"schema":{"description":"A simplified format of the pattern, where only the NPA (Area Code) is provided.\n\nThis field can be used in conjuction with the `nxx` field to form a NPANXX pattern\ninternally.\n","example":"800","type":"string"}},{"description":"","in":"query","name":"nxx","required":false,"schema":{"description":"A simplified format of the pattern, where only the NXX (Exchange Code) is provided.\n\nThis field can be used in conjuction with the `npa` field to form a NPANXX pattern\ninternally.\n","example":"200","type":"string"}},{"description":"","in":"query","name":"state","required":false,"schema":{"description":"A state code used to filter on, it can be used in conjuction with rate_center typically.\n","example":"FL","type":"string"}},{"description":"","in":"query","name":"rate_center","required":false,"schema":{"description":"A rate center's code used to filter the coverage.\n","example":"ABERDEEN","type":"string"}},{"description":"","in":"query","name":"count_by","required":false,"schema":{"description":"What should the coverage group its results by, the default is NPA_NXX.\n","enum":["STATE","RATE_CENTER","NPA_NXX","BLOCK"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberInventoryCoverageResponse"}}},"description":"Number Inventory"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["inventory_numbers:count"]}],"tags":["Number Inventory"]}},"/api/v1/event_subscriptions":{"get":{"callbacks":{},"description":"Retrieve all event subscriptions for account\n","operationId":"Atlas.Web.API.V1.EventSubscriptionController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSubscriptionsResponse"}}},"description":"Event Subscriptions"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["account_event_subscriptions:index"]}],"summary":"List Event Subscriptions","tags":["Event Subscriptions"]},"post":{"callbacks":{},"description":"Create a new Event Subscription.\n","operationId":"Atlas.Web.API.V1.EventSubscriptionController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertEventSubscriptionRequest"}}},"description":"Create an Event Subscription","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSubscriptionResponse"}}},"description":"Event Subscription"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Event Subscription Not Found"}},"security":[{"role-auth":["account_event_subscriptions:create"]}],"summary":"Create Event Subscription","tags":["Event Subscriptions"]}},"/api/v1/voip/allowed_client_ips/{allowed_client_ip_id}/api_key":{"delete":{"callbacks":{},"description":"Detach an API Key from an existing VoIP Allowed Client IP.\n","operationId":"Atlas.Web.API.V1.ApiKeyController.detach_api_key_to_allowed_client_ip","parameters":[{"description":"VoIP Allowed Client IP ID","in":"path","name":"allowed_client_ip_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"API Key or VoIP Allowed Client IP Not Found"}},"security":[{"role-auth":["allowed_client_ips:update","api_keys:show"]}],"summary":"Detach API Key from VoIP Allowed Client IP","tags":["API Keys"]},"get":{"callbacks":{},"description":"Return the API Key associated with the Allowed Client IP by ID.\n","operationId":"Atlas.Web.API.V1.ApiKeyController.api_key_for_allowed_client_ip","parameters":[{"description":"VoIP Allowed Client IP ID","in":"path","name":"allowed_client_ip_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"API Key Not Found"}},"security":[{"role-auth":["allowed_client_ips:show","api_keys:show"]}],"summary":"Retrieve API Key for VoIP Allowed Client IP by ID","tags":["API Keys"]}},"/api/v1/switches/{switch_id}/sms_encryption_key":{"delete":{"callbacks":{},"description":"Detach Secret Key from Switch used for SMS Encryption.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.detach_switch_sms_encryption_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:update","secret_keys:show"]}],"summary":"Detach Switch's SMS Encryption Key","tags":["Secret Keys"]},"get":{"callbacks":{},"description":"Retrieve a switch's SMS Encryption Key.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.get_switch_sms_encryption_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:show","secret_keys:show"]}],"summary":"Get Switch's SMS Encryption Key","tags":["Secret Keys"]}},"/api/v1/orders/{id}":{"get":{"callbacks":{},"description":"Lookup an order by ID\n","operationId":"Atlas.Web.API.V1.OrderController.show","parameters":[{"description":"Order ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"}}},"description":"Orders"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Order not found"}},"security":[{"role-auth":["orders:show"]}],"summary":"Retrieve Order by ID","tags":["Orders"]},"patch":{"callbacks":{},"description":"Update an existing order.\n\nOnly the name and notes can be updated on the order once it has been checked out.\n","operationId":"Atlas.Web.API.V1.OrderController.update (2)","parameters":[{"description":"Order ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrderRequest"}}},"description":"Update an Order","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"}}},"description":"Order"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Order not found"}},"security":[{"role-auth":["orders:update"]}],"summary":"Update Order","tags":["Orders"]},"put":{"callbacks":{},"description":"Update an existing order.\n\nOnly the name and notes can be updated on the order once it has been checked out.\n","operationId":"Atlas.Web.API.V1.OrderController.update","parameters":[{"description":"Order ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrderRequest"}}},"description":"Update an Order","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"}}},"description":"Order"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Order not found"}},"security":[{"role-auth":["orders:update"]}],"summary":"Update Order","tags":["Orders"]}},"/api/v1/csp/enum/cnps":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_cnps","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCnpsResponse"}}},"description":"CSP CNPs"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List CNPs","tags":["CSP Enums"]}},"/api/v1/auto_responses":{"get":{"callbacks":{},"description":"Retrieve all Messaging Auto Responses for Account\n","operationId":"Atlas.Web.API.V1.MessagingAutoResponseController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAutoResponsesResponse"}}},"description":"Messaging Auto Responses"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["messaging_auto_responses:index"]}],"summary":"List Messaging Auto Responses","tags":["Messaging Auto Responses"]},"post":{"callbacks":{},"description":"Create a new Messaging Auto Response.\n","operationId":"Atlas.Web.API.V1.MessagingAutoResponseController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertMessagingAutoResponseRequest"}}},"description":"Create an Messaging Auto Response","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAutoResponseResponse"}}},"description":"Messaging Auto Response"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Messaging Auto Response Not Found"}},"security":[{"role-auth":["messaging_auto_responses:create"]}],"summary":"Create Messaging Auto Response","tags":["Messaging Auto Responses"]}},"/api/v1/csp/enum/verticals":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_verticals","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspVerticalsResponse"}}},"description":"CSP Verticals"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Verticals","tags":["CSP Enums"]}},"/api/v1/osr/overwrite_requests/{overwrite_request_id}/review":{"post":{"callbacks":{},"description":"Review an existing Overwrite Request.\n\nNote a request that has already been reviewed wil perform a no-op.\n","operationId":"Atlas.Web.API.V1.OSR.OverwriteRequestController.review","parameters":[{"description":"OSR Overwrite Request ID","in":"path","name":"overwrite_request_id","required":true,"schema":{"format":"ulid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewOverwriteRequestRequest"}}},"description":"Review Overwrite Request","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverwriteRequestResponse"}}},"description":"Overview Request"},"204":{"content":{"":{}},"description":"Nothing Changed"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Overview Request Not Found"}},"security":[{"role-auth":["overwrite_requests:review"]}],"summary":"Review Overwrite Request","tags":["Overwrite Requests"]}},"/api/v1/numbers/{number_id}/api_keys/{id}":{"get":{"callbacks":{},"description":"Retrieve an API Key associated with the DID by its ID\n","operationId":"Atlas.Web.API.V1.Number.ApiKeyController.show","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}},{"description":"API Key ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or API Key Not Found"}},"security":[{"role-auth":["dids:show","api_keys:show"]}],"summary":"Retrieve Number's API Key by ID","tags":["API Keys"]}},"/api/v1/switches/{switch_id}/mms_signing_key":{"delete":{"callbacks":{},"description":"Detach Secret Key from Switch used for MMS Signing.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.detach_switch_mms_signing_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:update","secret_keys:show"]}],"summary":"Detach Switch's MMS Signing Key","tags":["Secret Keys"]},"get":{"callbacks":{},"description":"Retrieve a switch's MMS Signing Key.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.get_switch_mms_signing_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:show","secret_keys:show"]}],"summary":"Get Switch's MMS Signing Key","tags":["Secret Keys"]}},"/api/v1/carts/{cart_id}/requests/{id}":{"delete":{"callbacks":{},"description":"Delete an existing request under the specified Cart\n","operationId":"Atlas.Web.API.V1.Cart.RequestController.delete","parameters":[{"description":"ULID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"ULID","in":"path","name":"id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartRequestResponse"}}},"description":"Cart Request that was Deleted"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Cart or Cart Request was not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Cart could not be deleted due to a constraint"}},"security":[{"role-auth":["carts:show","cart_requests:delete"]}],"summary":"Delete Cart Request","tags":["Ordering"]},"get":{"callbacks":{},"description":"Retrieve a cart's request by ID\n","operationId":"Atlas.Web.API.V1.Cart.RequestController.show","parameters":[{"description":"ULID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"ULID","in":"path","name":"id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartRequestResponse"}}},"description":"CartRequest"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CartRequest not found"}},"security":[{"role-auth":["carts:show","cart_requests:show"]}],"summary":"Retrieve Cart Request by ID","tags":["Ordering"]},"patch":{"callbacks":{},"description":"Update an existing cart request given the Cart ID and Request ID\n","operationId":"Atlas.Web.API.V1.Cart.RequestController.update (2)","parameters":[{"description":"ULID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"ULID","in":"path","name":"id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCartRequestRequest"}}},"description":"Update an existing request in cart","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartRequestResponse"}}},"description":"Cart Request was Updated"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Cart or Cart Request was not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Cart Request update contained errors"}},"security":[{"role-auth":["carts:show","cart_requests:update"]}],"summary":"Update Cart Request","tags":["Ordering"]},"put":{"callbacks":{},"description":"Update an existing cart request given the Cart ID and Request ID\n","operationId":"Atlas.Web.API.V1.Cart.RequestController.update","parameters":[{"description":"ULID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"ULID","in":"path","name":"id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCartRequestRequest"}}},"description":"Update an existing request in cart","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartRequestResponse"}}},"description":"Cart Request was Updated"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Cart or Cart Request was not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Cart Request update contained errors"}},"security":[{"role-auth":["carts:show","cart_requests:update"]}],"summary":"Update Cart Request","tags":["Ordering"]}},"/api/v1/switches":{"get":{"callbacks":{},"description":"Retrieve a list of switches provisioned on the account\n","operationId":"Atlas.Web.API.V1.SwitchController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchesResponse"}}},"description":"Switches"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["switches:index"]}],"summary":"List Switches","tags":["Switches"]},"post":{"callbacks":{},"description":"Create a new Switch.\n\nThe only required parameter to create a new switch is its name, all other options can be left\nempty or nil.\n","operationId":"Atlas.Web.API.V1.SwitchController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSwitchRequest"}}},"description":"Create a Switch","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["switches:create"]}],"summary":"Create Switch","tags":["Switches"]}},"/api/v1/shared_resource_groups/{id}":{"get":{"callbacks":{},"description":"Lookup a shared resource group by ID\n","operationId":"Atlas.Web.API.V1.SharedResourceGroupController.show","parameters":[{"description":"User ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedResourceGroupResponse"}}},"description":"Shared Resource Group"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Shared Resource Group not found"}},"security":[{"role-auth":["shared_resource_groups:show"]}],"summary":"Retrieve Shared Resource Group by ID","tags":["Shared Resource Groups"]}},"/api/v1/numbers/{number_id}/campaign":{"get":{"callbacks":{},"description":"Retrieve the number's associated campaign\n","operationId":"Atlas.Web.API.V1.Number.CampaignController.show","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCampaignResponse"}}},"description":"Campaign"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or Campaign not found or set"}},"security":[{"role-auth":["dids:show","csp_campaigns:show"]}],"summary":"Retrieve DID's TCR Campaign","tags":["CSP Campaigns"]}},"/api/v1/tts/message_sets":{"get":{"callbacks":{},"description":"Retrieve a list of numbers provisioned on the account\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetsResponse"}}},"description":"Message Sets"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["tts_message_sets:index"]}],"summary":"List TTS Message Sets","tags":["TTS Message Set"]},"post":{"callbacks":{},"description":"Create a new TTS Message Set.\n\nMessage Sets are used for configuring the voice and text that a TTS destination will replay.\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageSetRequest"}}},"description":"Create a new TTS Message Set","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetResponse"}}},"description":"Message Set Created"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:create"]}],"summary":"Create TTS Message Set","tags":["TTS Message Set"]}},"/api/v1/provision_records":{"get":{"callbacks":{},"description":"Retrieve Provision Records allocated for this account.\n","operationId":"Atlas.Web.API.V1.ProvisionRecordController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestProvisionRecordsResponse"}}},"description":"Request Provision Records"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["request_provision_records:index"]}],"summary":"List Provision Records","tags":["Request - Provision Records"]}},"/api/v1/csp/enum/usecases":{"get":{"callbacks":{},"description":"Retrieve\n","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_usecases","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspUsecasesResponse"}}},"description":"CSP Usecases"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Usecases","tags":["CSP Enums"]}},"/api/v1/switches/{switch_id}/sms_signing_key":{"delete":{"callbacks":{},"description":"Detach Secret Key from Switch used for SMS Signing.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.detach_switch_sms_signing_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:update","secret_keys:show"]}],"summary":"Detach Switch's SMS Signing Key","tags":["Secret Keys"]},"get":{"callbacks":{},"description":"Retrieve a switch's SMS Signing Key.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.get_switch_sms_signing_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:show","secret_keys:show"]}],"summary":"Get Switch's SMS Signing Key","tags":["Secret Keys"]}},"/api/v1/csp/enum/brand_relationships":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_brand_relationships","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspBrandRelationshipsResponse"}}},"description":"CSP Brand Relationships"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Brand Relationships","tags":["CSP Enums"]}},"/api/v1/users/{user_id}/role":{"get":{"callbacks":{},"description":"Retrieve a user's role.\n","operationId":"Atlas.Web.API.V1.RoleController.role_for_user","parameters":[{"description":"User ID","in":"path","name":"user_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponse"}}},"description":"Role"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Resource Not Found"}},"security":[{"role-auth":["users:show","roles:show"]}],"summary":"Retrieve Role by for User","tags":["Roles"]}},"/api/v1/campaigns":{"get":{"callbacks":{},"description":"Retrieve a list of campaigns associated with the account\n","operationId":"Atlas.Web.API.V1.CSP.CampaignController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCampaignsResponse"}}},"description":"CSP Campaigns"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["csp_campaigns:index"]}],"summary":"List TCR Campaigns","tags":["CSP Campaigns"]}},"/api/v1/requests/{request_id}/documents/{id}":{"delete":{"callbacks":{},"description":"Removes a request document and any associated uploaded files.\n","operationId":"Atlas.Web.API.V1.Request.DocumentController.delete","parameters":[{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Document ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDocumentResponse"}}},"description":"Request Document Deleted"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request Contained Errors"}},"security":[{"role-auth":["requests:show","request_documents:delete"]}],"summary":"Delete Request Document","tags":["Request Documents"]},"get":{"callbacks":{},"description":"Retrieve a Request Document record by its ID.\n\nNote this is the \"record\" and not the uploaded file.\n","operationId":"Atlas.Web.API.V1.Request.DocumentController.show","parameters":[{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Document ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDocumentResponse"}}},"description":"Request Document"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"}},"security":[{"role-auth":["requests:show","request_documents:index"]}],"summary":"Retrieve Request Document","tags":["Request Documents"]}},"/api/v1/number_client_suspensions":{"get":{"callbacks":{},"description":"Retrieve all Number Client Suspensions.\n","operationId":"Atlas.Web.API.V1.NumberClientSuspensionController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberClientSuspensionsResponse"}}},"description":"Number Client Suspensions"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["did_client_suspensions:index"]}],"summary":"List All Number Client Suspensions","tags":["Number Client Suspensions"]}},"/api/v1/users":{"get":{"callbacks":{},"description":"Retrieve a list of users assigned to the parent account\n","operationId":"Atlas.Web.API.V1.UserController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersResponse"}}},"description":"Users"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["users:index"]}],"summary":"List Users","tags":["Users"]},"post":{"callbacks":{},"description":"Create a new User, they will be automatically assigned to the same role as current user.\n","operationId":"Atlas.Web.API.V1.UserController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserRequest"}}},"description":"Create a User","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"User"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["users:create"]}],"summary":"Create User","tags":["Users"]}},"/api/v1/switches/{switch_id}/sms_encryption_key/{id}":{"put":{"callbacks":{},"description":"Attach a Secret Key to a Switch for SMS Encryption.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.attach_switch_sms_encryption_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Secret Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachSwitchSmsEncryptionKeyRequest"}}},"description":"Attach SMS Encryption Key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:update","secret_keys:show"]}],"summary":"Attach Switch's SMS Encryption Key","tags":["Secret Keys"]}},"/api/v1/csp/enum/event_categories":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_event_categories","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspEventCategoriesResponse"}}},"description":"CSP Event Categories"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Event Categories","tags":["CSP Enums"]}},"/api/v1/secret_keys/{secret_key_id}/sms_encrypted_switches":{"get":{"callbacks":{},"description":"Retrieve a list of switches that are using the secret key for SMS Encryption.\n","operationId":"Atlas.Web.API.V1.SwitchController.index_sms_encrypted_switches_for_secret_key","parameters":[{"description":"Secret Key ID","in":"path","name":"secret_key_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchesResponse"}}},"description":"Switches"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key Not Found"}},"security":[{"role-auth":["secret_keys:show","switches:index"]}],"summary":"List Switches using Secret Key for SMS Encryption","tags":["Switches"]}},"/api/v1/voip/tts/voices":{"get":{"callbacks":{},"description":"Retrieve a list of all available TTS Voices\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.VoiceController.index (2)","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicesResponse"}}},"description":"TTS Voices"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["tts_voices:index"]}],"summary":"List TTS Voices","tags":["TTS Voices"]}},"/api/v1/cdr_export_tasks":{"get":{"callbacks":{},"description":"Retrieve CDR export tasks\n","operationId":"Atlas.Web.API.V1.CDRExportTaskController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportTasksResponse"}}},"description":"CDR Export Tasks"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["call_data_export_tasks:index"]}],"summary":"List CDR Export Tasks","tags":["CDR - Export Tasks"]},"post":{"callbacks":{},"description":"Create a new CDR Export Task.\n\nNote that export tasks can be created without setting any on_done_actions, however it may prove\ndifficult to retrieve the exported file without assistance if done so.\n\nTherefore it is recommended that an on_done_action is set with an appropriate endpoint to deliver\nthe exported file to.\n","operationId":"Atlas.Web.API.V1.CDRExportTaskController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExportTaskRequest"}}},"description":"Create a CDR Export Task","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportTaskResponse"}}},"description":"CDR Export Task"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"CDR Export Task Creation Error"}},"security":[{"role-auth":["call_data_export_tasks:create"]}],"summary":"Create CDR Export Task","tags":["CDR - Export Tasks"]}},"/api/v1/cdrs":{"get":{"callbacks":{},"description":"Retrieve latest cdrs\n","operationId":"Atlas.Web.API.V1.CDRController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CDRsResponse"}}},"description":"CDRs"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["cdrs:full_index"]}],"summary":"List CDRs","tags":["CDRs"]}},"/api/v1/shared_resource_groups":{"get":{"callbacks":{},"description":"Retrieve a list of shared resource groups assigned to the parent account\n","operationId":"Atlas.Web.API.V1.SharedResourceGroupController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedResourceGroupsResponse"}}},"description":"Shared Resource Groups"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["shared_resource_groups:index"]}],"summary":"List Shared Resource Groups","tags":["Shared Resource Groups"]}},"/api/v1/campaign_optout_items":{"get":{"callbacks":{},"description":"Retrieve a list of csp campaign optouts.\n","operationId":"Atlas.Web.API.V1.CampaignOptoutItemController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CSPCampaignOptoutItemsResponse"}}},"description":"CSP Campaign Optout Items"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["csp_campaign_optout_items:index"]}],"summary":"List CSP Campaign Optouts","tags":["CSP Campaign Optout Items"]}},"/api/v1/carts/{id}":{"delete":{"callbacks":{},"description":"Delete an existing cart, if the cart contains any requests this action will fail, if the purge\nflag is provided the cart will be deleted along with all of its requests.\n\nThe default action is to prevent accidental deletions with requests present.\n","operationId":"Atlas.Web.API.V1.CartController.delete","parameters":[{"description":"Cart ID","in":"path","name":"id","required":true,"schema":{"format":"ulid","type":"string"}},{"description":"Typically a Cart cannot be removed if it has any requests still associated with it.\n\nWith the purge option, the cart and its associated requests can all be removed at once.\n","in":"query","name":"purge","required":false,"schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartResponse"}}},"description":"Cart"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CartNotFound"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"CartParameterErrors"}},"security":[{"role-auth":["carts:delete"]}],"summary":"Delete Cart","tags":["Ordering"]},"get":{"callbacks":{},"description":"Lookup cart by id\n","operationId":"Atlas.Web.API.V1.CartController.show","parameters":[{"description":"Cart ID","in":"path","name":"id","required":true,"schema":{"format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartResponse"}}},"description":"Cart"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CartNotFound"}},"security":[{"role-auth":["carts:show"]}],"summary":"Retrieve Cart by ID","tags":["Ordering"]},"patch":{"callbacks":{},"description":"Update an existing account\n","operationId":"Atlas.Web.API.V1.CartController.update (2)","parameters":[{"description":"Cart ID","in":"path","name":"id","required":true,"schema":{"format":"ulid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCartRequest"}}},"description":"Update an existing cart","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartResponse"}}},"description":"Cart"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CartNotFound"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"CartParameterErrors"}},"security":[{"role-auth":["carts:update"]}],"summary":"Update Cart","tags":["Ordering"]},"put":{"callbacks":{},"description":"Update an existing account\n","operationId":"Atlas.Web.API.V1.CartController.update","parameters":[{"description":"Cart ID","in":"path","name":"id","required":true,"schema":{"format":"ulid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCartRequest"}}},"description":"Update an existing cart","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartResponse"}}},"description":"Cart"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CartNotFound"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"CartParameterErrors"}},"security":[{"role-auth":["carts:update"]}],"summary":"Update Cart","tags":["Ordering"]}},"/api/v1/carts/{cart_id}/requests/{request_id}/documents/{document_id}/download":{"get":{"callbacks":{},"description":"Download the file associated with the request document.\n","operationId":"Atlas.Web.API.V1.Cart.Request.DocumentController.download_document","parameters":[{"description":"Cart ID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Document ID","in":"path","name":"document_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/FileResponse"}}},"description":"Request Document File"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"}},"security":[{"role-auth":["carts:show","cart_requests:show","request_documents:download"]}],"summary":"Download Request Document","tags":["Cart Request Documents"]}},"/api/v1/csp/enum/stock_exchanges":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_stock_exchanges","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspStockExchangesResponse"}}},"description":"CSP Stock Exchanges"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Stock Exchanges","tags":["CSP Enums"]}},"/api/v1/call_data_webhooks":{"get":{"callbacks":{},"description":"Retrieve CDR Webhooks\n","operationId":"Atlas.Web.API.V1.CallDataWebhookController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallDataWebhooksResponse"}}},"description":"CDR Webhooks"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["call_data_webhooks:index"]}],"summary":"List CDR Webhooks","tags":["CDR - Webhooks"]},"post":{"callbacks":{},"description":"Create a new CDR Webhook.\n\nYou are limited to one cdr webhook record per-account.\n","operationId":"Atlas.Web.API.V1.CallDataWebhookController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCallDataWebhookRequest"}}},"description":"Create a CDR Webhook","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallDataWebhookResponse"}}},"description":"CDR Webhook"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"CDR Webhook Creation Error"}},"security":[{"role-auth":["call_data_webhooks:create"]}],"summary":"Create a new CDR Webhook","tags":["CDR - Webhooks"]}},"/api/v1/requests/{request_id}/provision_records":{"get":{"callbacks":{},"description":"Retrieve the provision records associated with the parent request.\n\nNote that for requests that have a `number` or `numbers` field, this mapping tends to be 1:1.\n","operationId":"Atlas.Web.API.V1.Request.ProvisionRecordController.index","parameters":[{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"format":"ulid","type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestProvisionRecordsResponse"}}},"description":"Request Provision Records"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"}},"security":[{"role-auth":["request_provision_records:index"]}],"summary":"List a Request's Provision Records","tags":["Request - Provision Records"]}},"/api/v1/numbers/{number_id}/messaging_switch/{id}":{"put":{"callbacks":{},"description":"Change or set a Number's Messaging Switch\n","operationId":"Atlas.Web.API.V1.Number.MessagingSwitchController.attach","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}},{"description":"Switch ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or Switch not found"}},"security":[{"role-auth":["dids:show","dids:update","switches:show"]}],"summary":"Attach Messaging Switch","tags":["Switches"]}},"/api/v1/voip/tts/message_sets/{id}":{"delete":{"callbacks":{},"description":"Delete an Message Set.\n\nNote that an Message Set cannot be deleted if it is still associated with any switches or\ndestinations.\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.delete","parameters":[{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetResponse"}}},"description":"Message Set Deleted"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Message Set not found"}},"security":[{"role-auth":["tts_message_sets:delete"]}],"summary":"Delete TTS Message Set","tags":["TTS Message Set"]},"get":{"callbacks":{},"description":"Lookup a Message Set by ID\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.show","parameters":[{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetResponse"}}},"description":"Message Set"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show"]}],"summary":"Retrieve TTS Message Set by ID","tags":["TTS Message Set"]},"patch":{"callbacks":{},"description":"Update an existing Message Set\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.update (2)","parameters":[{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMessageSetRequest"}}},"description":"Update an existing TTS Message Set","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetResponse"}}},"description":"Message Set Updated"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Message Set not found"}},"security":[{"role-auth":["tts_message_sets:update"]}],"summary":"Update TTS Message Set","tags":["TTS Message Set"]},"put":{"callbacks":{},"description":"Update an existing Message Set\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.update","parameters":[{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMessageSetRequest"}}},"description":"Update an existing TTS Message Set","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetResponse"}}},"description":"Message Set Updated"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Message Set not found"}},"security":[{"role-auth":["tts_message_sets:update"]}],"summary":"Update TTS Message Set","tags":["TTS Message Set"]}},"/api/v1/requests/{id}":{"get":{"callbacks":{},"description":"Lookup a request by ID\n","operationId":"Atlas.Web.API.V1.RequestController.show","parameters":[{"description":"Request ID","in":"path","name":"id","required":true,"schema":{"format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestResponse"}}},"description":"Request"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request not found"}},"security":[{"role-auth":["requests:show"]}],"summary":"Retrieve Request by ID","tags":["Requests"]},"patch":{"callbacks":{},"description":"Update an existing request.\n\nOnly the name and notes can be updated on the request once it has been checked out.\n","operationId":"Atlas.Web.API.V1.RequestController.update (2)","parameters":[{"description":"Request ID","in":"path","name":"id","required":true,"schema":{"format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestResponse"}}},"description":"Request"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request not found"}},"security":[{"role-auth":["requests:update"]}],"summary":"Update Request","tags":["Requests"]},"put":{"callbacks":{},"description":"Update an existing request.\n\nOnly the name and notes can be updated on the request once it has been checked out.\n","operationId":"Atlas.Web.API.V1.RequestController.update","parameters":[{"description":"Request ID","in":"path","name":"id","required":true,"schema":{"format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestResponse"}}},"description":"Request"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request not found"}},"security":[{"role-auth":["requests:update"]}],"summary":"Update Request","tags":["Requests"]}},"/api/v1/csp/enum/mnos":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_mnos","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspMnosResponse"}}},"description":"CSP MNOs"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List MNOs","tags":["CSP Enums"]}},"/api/v1/numbers":{"get":{"callbacks":{},"description":"Retrieve a list of numbers provisioned on the account.\n","operationId":"Atlas.Web.API.V1.NumberController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumbersResponse"}}},"description":"Numbers"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["dids:index"]}],"tags":["Numbers"]}},"/api/v1/roles":{"get":{"callbacks":{},"description":"Retrieve a list of all roles under the parent account\n","operationId":"Atlas.Web.API.V1.RoleController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolesResponse"}}},"description":"Roles"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["roles:index"]}],"summary":"List Roles","tags":["Roles"]},"post":{"callbacks":{},"description":"Create a new Role.\n\nNote that newly created Roles will return their secrets, however all subsequent GET requests\nwill not contain the secrets.\n","operationId":"Atlas.Web.API.V1.RoleController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleRequest"}}},"description":"Create a Role","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponse"}}},"description":"Role"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["roles:create"]}],"summary":"Create Role","tags":["Roles"]}},"/api/v1/cdrs/{cdr_id}/result":{"get":{"callbacks":{},"description":"Attempt to reproduce results from a CDR\n","operationId":"Atlas.Web.API.V1.CDRController.lookup_result","parameters":[{"description":"CDR ID","in":"path","name":"cdr_id","required":true,"schema":{"example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CDRLookupResultResponse"}}},"description":"CDR Dip Result"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CDR Not Found"}},"security":[{"role-auth":["cdrs:lookup_result"]}],"summary":"Rebuild CDR Result","tags":["CDRs"]}},"/api/v1/roles/{id}":{"delete":{"callbacks":{},"description":"Delete a Role.\n\nNote that a Role cannot be deleted if it is still associated with any switches or numbers.\n","operationId":"Atlas.Web.API.V1.RoleController.delete","parameters":[{"description":"Role ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponse"}}},"description":"Role"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Role Not Found"}},"security":[{"role-auth":["roles:delete"]}],"summary":"Delete Role","tags":["Roles"]},"get":{"callbacks":{},"description":"Lookup a request by ID\n","operationId":"Atlas.Web.API.V1.RoleController.show","parameters":[{"description":"Role ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponse"}}},"description":"Role"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Role not found"}},"security":[{"role-auth":["roles:show"]}],"summary":"Retrieve Role by ID","tags":["Roles"]},"patch":{"callbacks":{},"description":"Update an existing Role\n","operationId":"Atlas.Web.API.V1.RoleController.update (2)","parameters":[{"description":"Role ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleRequest"}}},"description":"Update a Role","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponse"}}},"description":"Role"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Role Not Found"}},"security":[{"role-auth":["roles:update"]}],"summary":"Update Role","tags":["Roles"]},"put":{"callbacks":{},"description":"Update an existing Role\n","operationId":"Atlas.Web.API.V1.RoleController.update","parameters":[{"description":"Role ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleRequest"}}},"description":"Update a Role","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponse"}}},"description":"Role"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Role Not Found"}},"security":[{"role-auth":["roles:update"]}],"summary":"Update Role","tags":["Roles"]}},"/api/v1/orders/{order_id}/requests":{"get":{"callbacks":{},"description":"Retrieve Requests associated with the Order\n","operationId":"Atlas.Web.API.V1.Order.RequestController.index","parameters":[{"description":"Order ID","in":"path","name":"order_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestsResponse"}}},"description":"Requests"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Order not found"}},"security":[{"role-auth":["orders:show","requests:index"]}],"summary":"List Order Requests","tags":["Requests"]}},"/api/v1/secret_keys/{secret_key_id}/mms_encrypted_switches":{"get":{"callbacks":{},"description":"Retrieve a list of switches that are using the secret key for MMS Encryption.\n","operationId":"Atlas.Web.API.V1.SwitchController.index_mms_encrypted_switches_for_secret_key","parameters":[{"description":"Secret Key ID","in":"path","name":"secret_key_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchesResponse"}}},"description":"Switches"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key Not Found"}},"security":[{"role-auth":["secret_keys:show","switches:index"]}],"summary":"List Switches using Secret Key for MMS Encryption","tags":["Switches"]}},"/api/v1/tts/voices/{id}":{"get":{"callbacks":{},"description":"Lookup a TTS Voice Entry by its ID\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.VoiceController.show","parameters":[{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceResponse"}}},"description":"TTS Voice"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Voice not found"}},"security":[{"role-auth":["tts_voices:show"]}],"summary":"Retrieve TTS Voice by ID","tags":["TTS Voices"]}},"/api/v1/voip/tts/message_sets/{message_set_id}/messages":{"get":{"callbacks":{},"description":"Retrieve a list of numbers provisioned on the account\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.index","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesResponse"}}},"description":"TTS Messages"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:index"]}],"summary":"List Messages from Message Set","tags":["TTS Message"]},"post":{"callbacks":{},"description":"Create a new TTS Message.\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.create","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageRequest"}}},"description":"Create a new TTS Message","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"TTS Message Created"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Message or TTS Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:create"]}],"summary":"Create TTS Message","tags":["TTS Message"]}},"/api/v1/voip/allowed_client_ips/{id}":{"delete":{"callbacks":{},"description":"Delete a VoIP Allowed Client IP.\n","operationId":"Atlas.Web.API.V1.VOIP.AllowedClientIpController.delete","parameters":[{"description":"VoIP Allowed Client IP ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoipAllowedClientIpResponse"}}},"description":"VoIP Allowed Client IP"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"VoIP Allowed Client IP Not Found"}},"security":[{"role-auth":["allowed_client_ips:delete"]}],"summary":"Delete VoIP Allowed Client IP","tags":["VoIP Allowed Client IPs"]},"get":{"callbacks":{},"description":"Lookup an Allowed Client IP by its ID.\n","operationId":"Atlas.Web.API.V1.VOIP.AllowedClientIpController.show","parameters":[{"description":"VoIP Allowed Client IP ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoipAllowedClientIpResponse"}}},"description":"VoIP Allowed Client IP"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"VoIP Allowed Client IP Not Found"}},"security":[{"role-auth":["allowed_client_ips:show"]}],"summary":"Retrieve VoIP Allowed Client by ID","tags":["VoIP Allowed Client IPs"]},"patch":{"callbacks":{},"description":"Update an existing VoIP Allowed Client IP's name and notes.\n\nThe IP address cannot be changed after creation.\n","operationId":"Atlas.Web.API.V1.VOIP.AllowedClientIpController.update (2)","parameters":[{"description":"VoIP Allowed Client IP ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVoipAllowedClientIpRequest"}}},"description":"Update a VoIP Allowed Client IP","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoipAllowedClientIpResponse"}}},"description":"Allowed Client IP"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Allowed Client IP Not Found"}},"security":[{"role-auth":["allowed_client_ips:update"]}],"summary":"Update VoIP Allowed Client IP","tags":["VoIP Allowed Client IPs"]},"put":{"callbacks":{},"description":"Update an existing VoIP Allowed Client IP's name and notes.\n\nThe IP address cannot be changed after creation.\n","operationId":"Atlas.Web.API.V1.VOIP.AllowedClientIpController.update","parameters":[{"description":"VoIP Allowed Client IP ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVoipAllowedClientIpRequest"}}},"description":"Update a VoIP Allowed Client IP","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoipAllowedClientIpResponse"}}},"description":"Allowed Client IP"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Allowed Client IP Not Found"}},"security":[{"role-auth":["allowed_client_ips:update"]}],"summary":"Update VoIP Allowed Client IP","tags":["VoIP Allowed Client IPs"]}},"/api/v1/optout_items/{id}":{"delete":{"callbacks":{},"description":"Delete an existing Number Optout Item by ID.\n","operationId":"Atlas.Web.API.V1.OptoutItemController.delete","parameters":[{"description":"Optout Item ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptoutItemResponse"}}},"description":"Number Optout Item"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number Optout Item not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["did_optout_items:delete"]}],"summary":"Delete Number Optout Item","tags":["Number Optout Items"]},"get":{"callbacks":{},"description":"Lookup a optout item by ID\n","operationId":"Atlas.Web.API.V1.OptoutItemController.show","parameters":[{"description":"Optout Item ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptoutItemResponse"}}},"description":"Number Optout Item"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number Optout Item not found"}},"security":[{"role-auth":["did_optout_items:show"]}],"summary":"Retrieve Optout Item by ID","tags":["Number Optout Items"]}},"/api/v1/numbers/{number_id}/destinations/{id}":{"delete":{"callbacks":{},"description":"Delete a Number's Destination.\n","operationId":"Atlas.Web.API.V1.Number.DestinationController.delete","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"$ref":"#/components/schemas/NumberId"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationResponse"}}},"description":"Number Destination"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number not found"}},"security":[{"role-auth":["dids:show","did_destinations:delete"]}],"summary":"Delete a Number's Destination","tags":["DID Destinations"]},"get":{"callbacks":{},"description":"Retrieve a DID Destination associated with the DID by its ID\n","operationId":"Atlas.Web.API.V1.Number.DestinationController.show","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"$ref":"#/components/schemas/NumberId"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationResponse"}}},"description":"Number Destination"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or API Key Not Found"}},"security":[{"role-auth":["dids:show","did_destinations:show"]}],"summary":"Retrieve DID Destination by ID","tags":["DID Destinations"]},"patch":{"callbacks":{},"description":"Update a Number's Destination.\n","operationId":"Atlas.Web.API.V1.Number.DestinationController.update (2)","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"$ref":"#/components/schemas/NumberId"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDestinationRequest"}}},"description":"Update Number Destination","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationResponse"}}},"description":"Number Destination"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number not found"}},"security":[{"role-auth":["dids:show","did_destinations:update"]}],"summary":"Update a Number's Destination","tags":["DID Destinations"]},"put":{"callbacks":{},"description":"Update a Number's Destination.\n","operationId":"Atlas.Web.API.V1.Number.DestinationController.update","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"$ref":"#/components/schemas/NumberId"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDestinationRequest"}}},"description":"Update Number Destination","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DestinationResponse"}}},"description":"Number Destination"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number not found"}},"security":[{"role-auth":["dids:show","did_destinations:update"]}],"summary":"Update a Number's Destination","tags":["DID Destinations"]}},"/api/v1/numbers/{number_id}/voice_switch":{"delete":{"callbacks":{},"description":"Removes the Voice Switch on a specified Number\n","operationId":"Atlas.Web.API.V1.Number.VoiceSwitchController.detach","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or Switch not found or set"}},"security":[{"role-auth":["dids:show","dids:update"]}],"summary":"Detach Voice Switch","tags":["Switches"]},"get":{"callbacks":{},"description":"Retrieve Number's Voice Switch\n","operationId":"Atlas.Web.API.V1.Number.VoiceSwitchController.show","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or Switch not found or set"}},"security":[{"role-auth":["dids:show","switches:show"]}],"summary":"Retrieve Voice Switch","tags":["Switches"]}},"/api/v1/carts/{cart_id}/requests":{"get":{"callbacks":{},"description":"Retrieve a list of requests under the specified Cart\n","operationId":"Atlas.Web.API.V1.Cart.RequestController.index","parameters":[{"description":"ULID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartRequestsResponse"}}},"description":"CartRequests"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["carts:show","cart_requests:index"]}],"summary":"List Cart Requests","tags":["Ordering"]},"post":{"callbacks":{},"description":"Create a new request under the specified Cart\n","operationId":"Atlas.Web.API.V1.Cart.RequestController.create","parameters":[{"description":"ULID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCartRequestRequest"}}},"description":"Create a new request in cart","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartRequestResponse"}}},"description":"Cart Request Created"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Cart Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request Contained Errors"}},"security":[{"role-auth":["carts:show","cart_requests:create"]}],"summary":"Create Cart Request","tags":["Ordering"]}},"/api/v1/requests":{"get":{"callbacks":{},"description":"Retrieve a list of all requests under the parent account\n","operationId":"Atlas.Web.API.V1.RequestController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestsResponse"}}},"description":"Requests"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["requests:index"]}],"summary":"List Requests","tags":["Requests"]}},"/api/v1/carts/{cart_id}/requests/{request_id}/documents":{"get":{"callbacks":{},"description":"List request documents.\n","operationId":"Atlas.Web.API.V1.Cart.Request.DocumentController.index","parameters":[{"description":"Cart ID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDocumentsResponse"}}},"description":"Request Documents"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"}},"security":[{"role-auth":["carts:show","cart_requests:show","request_documents:index"]}],"summary":"List Request Documents","tags":["Cart Request Documents"]},"post":{"callbacks":{},"description":"Attach a document or any file to the request currently in a cart, these documents can be\nremoved later if needed.\n","operationId":"Atlas.Web.API.V1.Cart.Request.DocumentController.create","parameters":[{"description":"Cart ID","in":"path","name":"cart_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateRequestDocumentRequest"}}},"description":"Attach a new document to request","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDocumentResponse"}}},"description":"Request Document Created"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request Contained Errors"}},"security":[{"role-auth":["carts:show","cart_requests:show","request_documents:upload"]}],"summary":"Upload Request Document","tags":["Cart Request Documents"]}},"/api/v1/campaigns/{id}":{"get":{"callbacks":{},"description":"Lookup a Campaign by its internal UUID\n","operationId":"Atlas.Web.API.V1.CSP.CampaignController.show","parameters":[{"description":"Campaign ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCampaignResponse"}}},"description":"CSP Campaign"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CSP Campaign Not Found"}},"security":[{"role-auth":["csp_campaigns:show"]}],"summary":"Retrieve TCR Campaign by internal ID","tags":["CSP Campaigns"]}},"/api/v1/campaigns/{campaign_id}/shared_resource_group":{"delete":{"callbacks":{},"description":"Removes any associated Shared Resource Group from the campaign.\n\nNote that if the campaign is inuse (has numbers associated with it), it cannot be removed.\n","operationId":"Atlas.Web.API.V1.CSP.CampaignController.unshare","parameters":[{"description":"Campaign ID","in":"path","name":"campaign_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCampaignResponse"}}},"description":"CSP Campaign"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CSP Campaign Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCampaignUnsharingConflictErrorsResponse"}}},"description":"Unsharing Conflict"}},"security":[{"role-auth":["csp_campaigns:unshare"]}],"summary":"Unshare a campaign","tags":["CSP Campaigns"]},"get":{"callbacks":{},"description":"Retrieves the shared resource group associated with the campaign, if any.\n","operationId":"Atlas.Web.API.V1.CSP.CampaignController.get_shared_resource_group","parameters":[{"description":"Campaign ID","in":"path","name":"campaign_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedResourceGroupResponse"}}},"description":"Shared Resource Group"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CSP Campaign or Shared Resource Group Not Found"}},"security":[{"role-auth":["shared_resource_groups:show","csp_campaigns:show"]}],"summary":"Retrieve the Shared Resource Group for Campaign","tags":["CSP Campaigns"]}},"/api/v1/voip/tts/voices/{id}":{"get":{"callbacks":{},"description":"Lookup a TTS Voice Entry by its ID\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.VoiceController.show (2)","parameters":[{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceResponse"}}},"description":"TTS Voice"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Voice not found"}},"security":[{"role-auth":["tts_voices:show"]}],"summary":"Retrieve TTS Voice by ID","tags":["TTS Voices"]}},"/api/v1/csp/enum/vetting_classes":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_vetting_classes","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspVettingClassesResponse"}}},"description":"CSP Vetting Classes"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Vetting Classes","tags":["CSP Enums"]}},"/api/v1/csp/enum/sub_usecases":{"get":{"callbacks":{},"description":"Retrieve\n","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_sub_usecases","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspUsecasesResponse"}}},"description":"CSP Sub Usecases"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Sub Usecases","tags":["CSP Enums"]}},"/api/v1/requests/{request_id}/documents/{document_id}/download":{"get":{"callbacks":{},"description":"Download the file associated with the request document.\n","operationId":"Atlas.Web.API.V1.Request.DocumentController.download_document","parameters":[{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"Document ID","in":"path","name":"document_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/FileResponse"}}},"description":"Request Document File"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"}},"security":[{"role-auth":["requests:show","request_documents:download"]}],"summary":"Download Request Document","tags":["Request Documents"]}},"/api/v1/call_data_webhooks/{id}":{"delete":{"callbacks":{},"description":"Delete an CDR Webhook.\n","operationId":"Atlas.Web.API.V1.CallDataWebhookController.delete","parameters":[{"description":"CDR Webhook ID","in":"path","name":"id","required":true,"schema":{"example":"0fce7aa1-0ce8-4ff4-9a6d-2d23db83b8fd","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallDataWebhookResponse"}}},"description":"CDR Webhook"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CDR Webhook Not Found"}},"security":[{"role-auth":["call_data_webhooks:delete"]}],"summary":"Delete CDR Webhook","tags":["CDR - Webhooks"]},"get":{"callbacks":{},"description":"Retrieve a CDR Webhook by ID\n","operationId":"Atlas.Web.API.V1.CallDataWebhookController.show","parameters":[{"description":"CDR Webhook ID","in":"path","name":"id","required":true,"schema":{"example":"0fce7aa1-0ce8-4ff4-9a6d-2d23db83b8fd","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallDataWebhookResponse"}}},"description":"CDR Webhook"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CDR Webhook Not Found"}},"security":[{"role-auth":["call_data_webhooks:show"]}],"summary":"Retrieve CDR Webhook by ID","tags":["CDR - Webhooks"]},"patch":{"callbacks":{},"description":"Update an existing CDR Webhook\n","operationId":"Atlas.Web.API.V1.CallDataWebhookController.update (2)","parameters":[{"description":"CDR Webhook ID","in":"path","name":"id","required":true,"schema":{"example":"0fce7aa1-0ce8-4ff4-9a6d-2d23db83b8fd","format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCallDataWebhookRequest"}}},"description":"Update an existing CDR Webhook","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallDataWebhookResponse"}}},"description":"Call Data Webhook"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Call Data Webhook Not Found"}},"security":[{"role-auth":["call_data_webhooks:update"]}],"summary":"Update CDR Webhook","tags":["CDR - Webhooks"]},"put":{"callbacks":{},"description":"Update an existing CDR Webhook\n","operationId":"Atlas.Web.API.V1.CallDataWebhookController.update","parameters":[{"description":"CDR Webhook ID","in":"path","name":"id","required":true,"schema":{"example":"0fce7aa1-0ce8-4ff4-9a6d-2d23db83b8fd","format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCallDataWebhookRequest"}}},"description":"Update an existing CDR Webhook","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallDataWebhookResponse"}}},"description":"Call Data Webhook"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Call Data Webhook Not Found"}},"security":[{"role-auth":["call_data_webhooks:update"]}],"summary":"Update CDR Webhook","tags":["CDR - Webhooks"]}},"/api/v1/numbers/{number_id}/api_keys/{api_key_id}/bind":{"delete":{"callbacks":{},"description":"Unbind specified API Key from the number\n","operationId":"Atlas.Web.API.V1.Number.ApiKeyController.unbind (2)","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}},{"description":"API Key ID","in":"path","name":"api_key_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or API Key Not Found"}},"security":[{"role-auth":["dids:update","api_keys:show"]}],"summary":"Unbind an API Key from Number","tags":["API Keys"]},"post":{"callbacks":{},"description":"Bind specified API Key to the number\n","operationId":"Atlas.Web.API.V1.Number.ApiKeyController.bind","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}},{"description":"API Key ID","in":"path","name":"api_key_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or API Key Not Found"}},"security":[{"role-auth":["dids:update","api_keys:show"]}],"summary":"Bind an API Key to Number","tags":["API Keys"]}},"/api/v1/event_subscriptions/{id}":{"delete":{"callbacks":{},"description":"Delete an existing Event Subscription by ID.\n","operationId":"Atlas.Web.API.V1.EventSubscriptionController.delete","parameters":[{"description":"Event Subscription ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSubscriptionResponse"}}},"description":"Event Subscription"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Event Subscription not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["account_event_subscriptions:delete"]}],"summary":"Delete Event Subscription","tags":["Event Subscriptions"]},"get":{"callbacks":{},"description":"Lookup an Event Subscription by its ID\n","operationId":"Atlas.Web.API.V1.EventSubscriptionController.show","parameters":[{"description":"Event Subscription ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSubscriptionResponse"}}},"description":"Event Subscription"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Event Subscription Not Found"}},"security":[{"role-auth":["api_keys:show"]}],"summary":"Retrieve Event Subscription by ID","tags":["Event Subscriptions"]},"patch":{"callbacks":{},"description":"Update an existing Event Subscription\n","operationId":"Atlas.Web.API.V1.EventSubscriptionController.update (2)","parameters":[{"description":"Event Subscription ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertEventSubscriptionRequest"}}},"description":"Update an api key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSubscriptionResponse"}}},"description":"Event Subscription"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Event Subscription Not Found"}},"security":[{"role-auth":["account_event_subscriptions:update"]}],"summary":"Update Event Subscription","tags":["Event Subscriptions"]},"put":{"callbacks":{},"description":"Update an existing Event Subscription\n","operationId":"Atlas.Web.API.V1.EventSubscriptionController.update","parameters":[{"description":"Event Subscription ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertEventSubscriptionRequest"}}},"description":"Update an api key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventSubscriptionResponse"}}},"description":"Event Subscription"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Event Subscription Not Found"}},"security":[{"role-auth":["account_event_subscriptions:update"]}],"summary":"Update Event Subscription","tags":["Event Subscriptions"]}},"/api/v1/tts/message_sets/{message_set_id}/messages/{id}":{"delete":{"callbacks":{},"description":"Delete a TTS Message\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.delete","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"TTS Message Deleted"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Message or TTS Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:delete"]}],"summary":"Delete TTS Message","tags":["TTS Message"]},"get":{"callbacks":{},"description":"Lookup a TTS Message by its ID\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.show","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"TTS Message"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Message or TTS Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:show"]}],"summary":"Retrieve TTS Message by ID","tags":["TTS Message"]},"patch":{"callbacks":{},"description":"Update an existing TTS Message.\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.update (2)","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMessageRequest"}}},"description":"Update an existing TTS Message","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"TTS Message Updated"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Message or TTS Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:update"]}],"summary":"Update TTS Message","tags":["TTS Message"]},"put":{"callbacks":{},"description":"Update an existing TTS Message.\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.update","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMessageRequest"}}},"description":"Update an existing TTS Message","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"TTS Message Updated"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Message or TTS Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:update"]}],"summary":"Update TTS Message","tags":["TTS Message"]}},"/api/v1/optout_items":{"get":{"callbacks":{},"description":"Retrieve a list of optouts assigned to the parent account\n","operationId":"Atlas.Web.API.V1.OptoutItemController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptoutItemsResponse"}}},"description":"Number Optout Items"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["did_optout_items:index"]}],"summary":"List Number Optouts","tags":["Number Optout Items"]}},"/api/v1/bulk_dip_tasks":{"get":{"callbacks":{},"description":"Retrieve Bulk Dip Tasks\n","operationId":"Atlas.Web.API.V1.BulkDipTaskController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDipTasksResponse"}}},"description":"Bulk Dip Tasks"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["bulk_dip_tasks:index"]}],"summary":"List Bulk Dip Tasks","tags":["Bulk Dip Tasks"]},"post":{"callbacks":{},"description":"Create a new Bulk Dip Task.\n\nNote that bulk dip tasks can be created without setting any on_done_actions,\nhowever it may prove difficult to retrieve the completed file without assistance if done so.\n\nTherefore it is recommended that an on_done_action is set with an appropriate endpoint to\ndeliver the completed file to.\n","operationId":"Atlas.Web.API.V1.BulkDipTaskController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBulkDipTaskRequest"}}},"description":"Create a Bulk Dip Task","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDipTaskResponse"}}},"description":"Bulk Dip Task"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Bulk Dip Task Creation Error"}},"security":[{"role-auth":["bulk_dip_tasks:create"]}],"summary":"Create Bulk Dip Task","tags":["Bulk Dip Tasks"]}},"/api/v1/csp/enum/mno_operation_statuses":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_mno_operation_statuses","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspMnoOperationStatusesResponse"}}},"description":"CSP MNO Operation Statuses"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List MNO Operation Statuses","tags":["CSP Enums"]}},"/api/v1/campaign_optout_items/{id}":{"delete":{"callbacks":{},"description":"Delete an existing CSP Campaign Optout Item by ID.\n","operationId":"Atlas.Web.API.V1.CampaignOptoutItemController.delete","parameters":[{"description":"Optout Item ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CSPCampaignOptoutItemResponse"}}},"description":"CSP Campaign Optout Item"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CSP Campaign Optout Item not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["csp_campaign_optout_items:delete"]}],"summary":"Delete CSP Campaign Optout Item","tags":["CSP Campaign Optout Items"]},"get":{"callbacks":{},"description":"Lookup a optout item by ID\n","operationId":"Atlas.Web.API.V1.CampaignOptoutItemController.show","parameters":[{"description":"Optout Item ID","in":"path","name":"id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CSPCampaignOptoutItemResponse"}}},"description":"CSP Campaign Optout Item"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CSP Campaign Optout Item not found"}},"security":[{"role-auth":["csp_campaign_optout_items:show"]}],"summary":"Retrieve CSP Campaign Optout Item by ID","tags":["CSP Campaign Optout Items"]}},"/api/v1/numbers/{number_id}/auto_response":{"delete":{"callbacks":{},"description":"Removes the Messaging Auto Response on a specified Number\n","operationId":"Atlas.Web.API.V1.Number.MessagingAutoResponseController.detach","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAutoResponseResponse"}}},"description":"Auto Response"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or Messaging Auto Response not found or set"}},"security":[{"role-auth":["dids:show","dids:update"]}],"summary":"Detach Messaging Auto Response","tags":["Messaging Auto Responses"]},"get":{"callbacks":{},"description":"Retrieve Number's Messaging Auto Response\n","operationId":"Atlas.Web.API.V1.Number.MessagingAutoResponseController.show","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAutoResponseResponse"}}},"description":"Messaging Auto Response"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or Messaging Auto Response not found or set"}},"security":[{"role-auth":["dids:show","messaging_auto_responses:show"]}],"summary":"Retrieve Messaging Auto Response","tags":["Messaging Auto Responses"]}},"/api/v1/users/{id}":{"delete":{"callbacks":{},"description":"Delete an existing User by ID.\n","operationId":"Atlas.Web.API.V1.UserController.delete","parameters":[{"description":"User ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"User"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"User not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["users:delete"]}],"summary":"Delete User","tags":["Users"]},"get":{"callbacks":{},"description":"Lookup a user by ID\n","operationId":"Atlas.Web.API.V1.UserController.show","parameters":[{"description":"User ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"User"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"User not found"}},"security":[{"role-auth":["users:show"]}],"summary":"Retrieve User by ID","tags":["Users"]},"patch":{"callbacks":{},"description":"Update an existing User.\n","operationId":"Atlas.Web.API.V1.UserController.update (2)","parameters":[{"description":"User ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequest"}}},"description":"Update a user","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"User"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"User not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["users:update"]}],"summary":"Update User","tags":["Users"]},"put":{"callbacks":{},"description":"Update an existing User.\n","operationId":"Atlas.Web.API.V1.UserController.update","parameters":[{"description":"User ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequest"}}},"description":"Update a user","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"User"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"User not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["users:update"]}],"summary":"Update User","tags":["Users"]}},"/api/v1/csp/enum/dcas":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_dcas","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspDcasResponse"}}},"description":"CSP DCAs"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List DCAs","tags":["CSP Enums"]}},"/api/v1/voip/tts/message_sets":{"get":{"callbacks":{},"description":"Retrieve a list of numbers provisioned on the account\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.index (2)","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetsResponse"}}},"description":"Message Sets"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["tts_message_sets:index"]}],"summary":"List TTS Message Sets","tags":["TTS Message Set"]},"post":{"callbacks":{},"description":"Create a new TTS Message Set.\n\nMessage Sets are used for configuring the voice and text that a TTS destination will replay.\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.create (2)","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageSetRequest"}}},"description":"Create a new TTS Message Set","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetResponse"}}},"description":"Message Set Created"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:create"]}],"summary":"Create TTS Message Set","tags":["TTS Message Set"]}},"/api/v1/role_policies":{"get":{"callbacks":{},"description":"Retrieve all Role Policy Resources for the account.\n","operationId":"Atlas.Web.API.V1.RolePolicyController.index","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolePoliciesResponse"}}},"description":"Role Policies"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["roles:*"]}],"summary":"List Role Policies","tags":[]}},"/api/v1/csp/enum/entity_types":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_entity_types","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspEntityTypesResponse"}}},"description":"CSP Entity Types"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Entity Types","tags":["CSP Enums"]}},"/api/v1/carts":{"get":{"callbacks":{},"description":"Retrieve a list of carts\n","operationId":"Atlas.Web.API.V1.CartController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartsResponse"}}},"description":"Carts"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["carts:index"]}],"summary":"List Carts","tags":["Ordering"]},"post":{"callbacks":{},"description":"Create a new cart\n","operationId":"Atlas.Web.API.V1.CartController.create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCartRequest"}}},"description":"Create a new cart","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CartResponse"}}},"description":"Cart"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"CartParameterErrors"}},"security":[{"role-auth":["carts:create"]}],"summary":"Create Cart","tags":["Ordering"]}},"/api/v1/tts/message_sets/{id}":{"delete":{"callbacks":{},"description":"Delete an Message Set.\n\nNote that an Message Set cannot be deleted if it is still associated with any switches or\ndestinations.\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.delete (2)","parameters":[{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetResponse"}}},"description":"Message Set Deleted"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Message Set not found"}},"security":[{"role-auth":["tts_message_sets:delete"]}],"summary":"Delete TTS Message Set","tags":["TTS Message Set"]},"get":{"callbacks":{},"description":"Lookup a Message Set by ID\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.show (2)","parameters":[{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetResponse"}}},"description":"Message Set"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show"]}],"summary":"Retrieve TTS Message Set by ID","tags":["TTS Message Set"]},"patch":{"callbacks":{},"description":"Update an existing Message Set\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.update (4)","parameters":[{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMessageSetRequest"}}},"description":"Update an existing TTS Message Set","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetResponse"}}},"description":"Message Set Updated"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Message Set not found"}},"security":[{"role-auth":["tts_message_sets:update"]}],"summary":"Update TTS Message Set","tags":["TTS Message Set"]},"put":{"callbacks":{},"description":"Update an existing Message Set\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSetController.update (3)","parameters":[{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMessageSetRequest"}}},"description":"Update an existing TTS Message Set","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSetResponse"}}},"description":"Message Set Updated"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Message Set not found"}},"security":[{"role-auth":["tts_message_sets:update"]}],"summary":"Update TTS Message Set","tags":["TTS Message Set"]}},"/api/v1/csp/enum/campaign_statuses":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_campaign_statuses","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCampaignStatusesResponse"}}},"description":"CSP Campaign Statuses"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Campaign Statuses","tags":["CSP Enums"]}},"/api/v1/bulk_dip_tasks/{id}":{"get":{"callbacks":{},"description":"Retrieve a Bulk Dip Task by ID\n","operationId":"Atlas.Web.API.V1.BulkDipTaskController.show","parameters":[{"description":"Bulk Dip Task ID","in":"path","name":"id","required":true,"schema":{"example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDipTaskResponse"}}},"description":"Bulk Dip Task"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Bulk Dip Task Not Found"}},"security":[{"role-auth":["bulk_dip_tasks:show"]}],"summary":"Retrieve Bulk Dip Task by ID","tags":["Bulk Dip Tasks"]}},"/api/v1/api_keys/{api_key_id}/switches":{"get":{"callbacks":{},"description":"Retrieve Switches associated with the API Key.\n\nThis is primarily used to verify what switches are bound to an API Key.\n","operationId":"Atlas.Web.API.V1.ApiKey.SwitchController.index","parameters":[{"description":"UUID","in":"path","name":"api_key_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchesResponse"}}},"description":"API Keys"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"API Key not found"}},"security":[{"role-auth":["api_keys:show","switches:index"]}],"summary":"List Switches associated with API Key","tags":["Switches"]}},"/api/v1/carts/{cart_id}/checkout":{"post":{"callbacks":{},"description":"Finalize a given cart and process it as an order, the cart and its requests can no longer\nbe modified after this.\n","operationId":"Atlas.Web.API.V1.CartController.checkout","parameters":[{"description":"Cart ID","in":"path","name":"cart_id","required":true,"schema":{"format":"ulid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"}}},"description":"Order"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Cart not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Cart contains errors"}},"security":[{"role-auth":["carts:checkout"]}],"tags":["Ordering"]}},"/api/v1/brands":{"get":{"callbacks":{},"description":"Retrieve a list of brands associated with the account\n","operationId":"Atlas.Web.API.V1.CSP.BrandController.index","parameters":[{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspBrandsResponse"}}},"description":"CSP Brands"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["csp_brands:index"]}],"summary":"List all associated TCR Brands","tags":["CSP Brands"]}},"/api/v1/campaigns/{campaign_id}/share_with/shared_resource_groups/{shared_resource_group_id}":{"post":{"callbacks":{},"description":"Shares the campaign with another account by specifying the shared resource group by id.\n","operationId":"Atlas.Web.API.V1.CSP.CampaignController.share_with_shared_resource_group","parameters":[{"description":"Campaign ID","in":"path","name":"campaign_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},{"description":"Shared Resource Group ID","in":"path","name":"shared_resource_group_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCampaignResponse"}}},"description":"CSP Campaign Shared"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CSP Campaign Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCampaignSharingConflictErrorsResponse"}}},"description":"Sharing Conflict"}},"security":[{"role-auth":["shared_resource_groups:show","csp_campaigns:share"]}],"summary":"Share a Campaign with another Account via Shared Resource Group","tags":["CSP Campaigns"]}},"/api/v1/voip/allowed_client_ips/{allowed_client_ip_id}/api_key/{id}":{"put":{"callbacks":{},"description":"Attach an API Key to an existing VoIP Allowed Client IP.\n","operationId":"Atlas.Web.API.V1.ApiKeyController.attach_api_key_to_allowed_client_ip","parameters":[{"description":"VoIP Allowed Client IP ID","in":"path","name":"allowed_client_ip_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"API Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"API Key or VoIP Allowed Client IP Not Found"}},"security":[{"role-auth":["allowed_client_ips:update","api_keys:show"]}],"summary":"Attach API Key to VoIP Allowed Client IP","tags":["API Keys"]}},"/api/v1/api_keys/{id}":{"delete":{"callbacks":{},"description":"Delete an API Key.\n\nNote that an API Key cannot be deleted if it is still associated with any switches or numbers.\n","operationId":"Atlas.Web.API.V1.ApiKeyController.delete","parameters":[{"description":"API Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"API Key Not Found"}},"security":[{"role-auth":["api_keys:delete"]}],"summary":"Delete API Key","tags":["API Keys"]},"get":{"callbacks":{},"description":"Lookup an API Key by its ID\n","operationId":"Atlas.Web.API.V1.ApiKeyController.show","parameters":[{"description":"API Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"API Key Not Found"}},"security":[{"role-auth":["api_keys:show"]}],"summary":"Retrieve API Key by ID","tags":["API Keys"]},"patch":{"callbacks":{},"description":"Update an existing API Key\n","operationId":"Atlas.Web.API.V1.ApiKeyController.update (2)","parameters":[{"description":"API Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateApiKeyRequest"}}},"description":"Update an API Key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"API Key Not Found"}},"security":[{"role-auth":["api_keys:update"]}],"summary":"Update API Key","tags":["API Keys"]},"put":{"callbacks":{},"description":"Update an existing API Key\n","operationId":"Atlas.Web.API.V1.ApiKeyController.update","parameters":[{"description":"API Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateApiKeyRequest"}}},"description":"Update an API Key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"API Key Not Found"}},"security":[{"role-auth":["api_keys:update"]}],"summary":"Update API Key","tags":["API Keys"]}},"/api/v1/csp/enum/error_codes":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_error_codes","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspErrorCodesResponse"}}},"description":"CSP Error Codes"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Error Codes","tags":["CSP Enums"]}},"/api/v1/campaigns/{campaign_id}/share_with/accounts/{account_id}":{"post":{"callbacks":{},"description":"Shares the campaign with another account, either by specifying the account id.\n","operationId":"Atlas.Web.API.V1.CSP.CampaignController.share_with_account","parameters":[{"description":"Campaign ID","in":"path","name":"campaign_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}},{"description":"Account ID","in":"path","name":"account_id","required":true,"schema":{"description":"A Universally unique identifier, which identifies the resource","example":"c6be45e4-b7dd-412c-96c4-777e83fb9c48","format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCampaignResponse"}}},"description":"CSP Campaign Shared"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"CSP Campaign Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspCampaignSharingConflictErrorsResponse"}}},"description":"Sharing Conflict"}},"security":[{"role-auth":["shared_resource_groups:show","csp_campaigns:share"]}],"summary":"Share a Campaign with another Account","tags":["CSP Campaigns"]}},"/api/v1/tts/message_sets/{message_set_id}/messages":{"get":{"callbacks":{},"description":"Retrieve a list of numbers provisioned on the account\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.index (2)","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesResponse"}}},"description":"TTS Messages"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:index"]}],"summary":"List Messages from Message Set","tags":["TTS Message"]},"post":{"callbacks":{},"description":"Create a new TTS Message.\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.create (2)","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageRequest"}}},"description":"Create a new TTS Message","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"TTS Message Created"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Message or TTS Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:create"]}],"summary":"Create TTS Message","tags":["TTS Message"]}},"/api/v1/requests/{request_id}/documents":{"get":{"callbacks":{},"description":"List request documents.\n","operationId":"Atlas.Web.API.V1.Request.DocumentController.index","parameters":[{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDocumentsResponse"}}},"description":"Request Documents"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"}},"security":[{"role-auth":["requests:show","request_documents:index"]}],"summary":"List Request Documents","tags":["Request Documents"]},"post":{"callbacks":{},"description":"Attach a document or any file to the respective request, these documents can be removed later if needed.\n","operationId":"Atlas.Web.API.V1.Request.DocumentController.create","parameters":[{"description":"Request ID","in":"path","name":"request_id","required":true,"schema":{"description":"Another format for UUID, used primarily for tasks, requests and messages.","example":"01EH2Y28M6KXG14QMPM3HSP1Y0","format":"ulid","type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateRequestDocumentRequest"}}},"description":"Attach a new document to request","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDocumentResponse"}}},"description":"Request Document Created"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Request Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request Contained Errors"}},"security":[{"role-auth":["requests:show","request_documents:upload"]}],"summary":"Upload Request Document","tags":["Request Documents"]}},"/api/v1/auto_responses/{id}":{"delete":{"callbacks":{},"description":"Delete an existing Messaging Auto Response by ID.\n","operationId":"Atlas.Web.API.V1.MessagingAutoResponseController.delete","parameters":[{"description":"Messaging Auto Response ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAutoResponseResponse"}}},"description":"Messaging Auto Response"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Messaging Auto Response not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Request contains errors"}},"security":[{"role-auth":["messaging_auto_responses:delete"]}],"summary":"Delete Messaging Auto Response","tags":["Messaging Auto Responses"]},"get":{"callbacks":{},"description":"Lookup an Messaging Auto Response by its ID\n","operationId":"Atlas.Web.API.V1.MessagingAutoResponseController.show","parameters":[{"description":"Messaging Auto Response ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAutoResponseResponse"}}},"description":"Messaging Auto Response"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Messaging Auto Response Not Found"}},"security":[{"role-auth":["messaging_auto_responses:show"]}],"summary":"Retrieve Messaging Auto Response by ID","tags":["Messaging Auto Responses"]},"patch":{"callbacks":{},"description":"Update an existing Messaging Auto Response\n","operationId":"Atlas.Web.API.V1.MessagingAutoResponseController.update (2)","parameters":[{"description":"Messaging Auto Response ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertMessagingAutoResponseRequest"}}},"description":"Update an api key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAutoResponseResponse"}}},"description":"Messaging Auto Response"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Messaging Auto Response Not Found"}},"security":[{"role-auth":["messaging_auto_responses:update"]}],"summary":"Update Messaging Auto Response","tags":["Messaging Auto Responses"]},"put":{"callbacks":{},"description":"Update an existing Messaging Auto Response\n","operationId":"Atlas.Web.API.V1.MessagingAutoResponseController.update","parameters":[{"description":"Messaging Auto Response ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertMessagingAutoResponseRequest"}}},"description":"Update an api key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingAutoResponseResponse"}}},"description":"Messaging Auto Response"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorsResponse"}}},"description":"Messaging Auto Response Not Found"}},"security":[{"role-auth":["messaging_auto_responses:update"]}],"summary":"Update Messaging Auto Response","tags":["Messaging Auto Responses"]}},"/api/v1/switches/{switch_id}/mms_signing_key/{id}":{"put":{"callbacks":{},"description":"Attach a Secret Key to a Switch for MMS Signing.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.attach_switch_mms_signing_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Secret Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachSwitchMmsSigningKeyRequest"}}},"description":"Attach MMS Signing Key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:update","secret_keys:show"]}],"summary":"Attach Switch's MMS Signing Key","tags":["Secret Keys"]}},"/api/v1/switches/{switch_id}/sms_signing_key/{id}":{"put":{"callbacks":{},"description":"Attach a Secret Key to a Switch for SMS Signing.\n","operationId":"Atlas.Web.API.V1.SecretKeyController.attach_switch_sms_signing_key","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Secret Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachSwitchSmsSigningKeyRequest"}}},"description":"Attach SMS Signing Key","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretKeyResponse"}}},"description":"Secret Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key or Switch Not Found"}},"security":[{"role-auth":["switches:update","secret_keys:show"]}],"summary":"Attach Switch's SMS Signing Key","tags":["Secret Keys"]}},"/api/v1/numbers/{id}":{"get":{"callbacks":{},"description":"Lookup a number by ID or it's number\n","operationId":"Atlas.Web.API.V1.NumberController.show","parameters":[{"description":"Number or ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberResponse"}}},"description":"Number"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number not found"}},"security":[{"role-auth":["dids:show"]}],"summary":"Retrieve Number","tags":["Numbers"]},"patch":{"callbacks":{},"description":"Update some features on the specified number.\n","operationId":"Atlas.Web.API.V1.NumberController.update (2)","parameters":[{"description":"Number or ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNumberRequest"}}},"description":"Update an existing Number","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberResponse"}}},"description":"Number"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number not found"}},"security":[{"role-auth":["dids:update"]}],"tags":["Numbers"]},"put":{"callbacks":{},"description":"Update some features on the specified number.\n","operationId":"Atlas.Web.API.V1.NumberController.update","parameters":[{"description":"Number or ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNumberRequest"}}},"description":"Update an existing Number","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NumberResponse"}}},"description":"Number"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number not found"}},"security":[{"role-auth":["dids:update"]}],"tags":["Numbers"]}},"/api/v1/numbers/{number_id}/voice_switch/{id}":{"put":{"callbacks":{},"description":"Change or set a Number's Voice Switch\n","operationId":"Atlas.Web.API.V1.Number.VoiceSwitchController.attach","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}},{"description":"Switch ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchResponse"}}},"description":"Switch"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number or Switch not found"}},"security":[{"role-auth":["dids:show","dids:update","switches:show"]}],"summary":"Attach Voice Switch","tags":["Switches"]}},"/api/v1/voip/tts/message_sets/{message_set_id}/messages/{id}":{"delete":{"callbacks":{},"description":"Delete a TTS Message\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.delete (2)","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"TTS Message Deleted"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Message or TTS Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:delete"]}],"summary":"Delete TTS Message","tags":["TTS Message"]},"get":{"callbacks":{},"description":"Lookup a TTS Message by its ID\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.show (2)","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"TTS Message"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Message or TTS Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:show"]}],"summary":"Retrieve TTS Message by ID","tags":["TTS Message"]},"patch":{"callbacks":{},"description":"Update an existing TTS Message.\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.update (4)","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMessageRequest"}}},"description":"Update an existing TTS Message","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"TTS Message Updated"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Message or TTS Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:update"]}],"summary":"Update TTS Message","tags":["TTS Message"]},"put":{"callbacks":{},"description":"Update an existing TTS Message.\n","operationId":"Atlas.Web.API.V1.VOIP.TTS.MessageSet.MessageController.update (3)","parameters":[{"description":"ID","in":"path","name":"message_set_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMessageRequest"}}},"description":"Update an existing TTS Message","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"TTS Message Updated"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"TTS Message or TTS Message Set Not Found"}},"security":[{"role-auth":["tts_message_sets:show","tts_messages:update"]}],"summary":"Update TTS Message","tags":["TTS Message"]}},"/api/v1/switches/{switch_id}/api_key/{id}":{"put":{"callbacks":{},"description":"Associate an API Key with the switch for SMPP\n","operationId":"Atlas.Web.API.V1.Switch.ApiKeyController.attach","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"API Key ID","in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Switch or API Key not found"}},"security":[{"role-auth":["switches:update","api_keys:show"]}],"summary":"Attach API Key","tags":["API Keys"]}},"/api/v1/secret_keys/{secret_key_id}/sms_signed_switches":{"get":{"callbacks":{},"description":"Retrieve a list of switches that are using the secret key for SMS Signing.\n","operationId":"Atlas.Web.API.V1.SwitchController.index_sms_signed_switches_for_secret_key","parameters":[{"description":"Secret Key ID","in":"path","name":"secret_key_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchesResponse"}}},"description":"Switches"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Secret Key Not Found"}},"security":[{"role-auth":["secret_keys:show","switches:index"]}],"summary":"List Switches using Secret Key for SMS Signing","tags":["Switches"]}},"/api/v1/switches/{switch_id}/api_key":{"delete":{"callbacks":{},"description":"Remove API Key associated with switch for SMPP\n","operationId":"Atlas.Web.API.V1.Switch.ApiKeyController.detach","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Switch or API Key not found"}},"security":[{"role-auth":["switches:show","switches:update"]}],"summary":"Detach API Key","tags":["API Keys"]},"get":{"callbacks":{},"description":"Retrieve the API Key information for the switch\n","operationId":"Atlas.Web.API.V1.Switch.ApiKeyController.show","parameters":[{"description":"Switch ID","in":"path","name":"switch_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}},"description":"API Key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Switch or API Key not found"}},"security":[{"role-auth":["switches:show","api_keys:show"]}],"summary":"Retrieve Attached API Key","tags":["API Keys"]}},"/api/v1/numbers/{number_id}/optout_items":{"get":{"callbacks":{},"description":"Retrieve a list of optouts assigned to the parent number\n","operationId":"Atlas.Web.API.V1.OptoutItemController.index_for_did","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}},{"description":"The number of items to return starting from the 'after' cursor","in":"query","name":"first","required":false,"schema":{"example":20,"type":"integer"}},{"description":"The number of items to return behind the 'before' cursor","in":"query","name":"last","required":false,"schema":{"type":"integer"}},{"description":"The cursor representing the starting point of a 'first' based paging","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"The cursor representing the starting point of a 'last' based paging","in":"query","name":"before","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptoutItemsResponse"}}},"description":"Number Optout Items"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":["did_optout_items:index"]}],"summary":"List Number's Optouts","tags":["Number Optout Items"]},"post":{"callbacks":{},"description":"Create a new Number Optout Item.\n","operationId":"Atlas.Web.API.V1.OptoutItemController.create_for_did","parameters":[{"description":"Number or ID","in":"path","name":"number_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOptoutItemRequest"}}},"description":"Create Number Optout Item","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptoutItemResponse"}}},"description":"Number Optout Item"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceNotFoundErrorsResponse"}}},"description":"Number not found"}},"security":[{"role-auth":["dids:show","did_optout_items:create"]}],"summary":"Create a new Number Optout Item","tags":["Number Optout Items"]}},"/api/v1/csp/enum/vetting_feedback_codes":{"get":{"callbacks":{},"description":"","operationId":"Atlas.Web.API.V1.CSP.EnumController.list_vetting_feedback_codes","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CspVettingFeedbackCodesResponse"}}},"description":"CSP Vetting Feedback Codes"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionErrorsResponse"}}},"description":"Access Denied"}},"security":[{"role-auth":[]}],"summary":"List Vetting Feedback Codes","tags":["CSP Enums"]}}},"security":[],"servers":[],"tags":[]}